Initial commit: 印度占星(Jyotish)专业解盘与推运系统
- 核心能力:行星配置、Yoga格局、Nakshatra解读、宫位分析、现代生活场景映射、出生时间矫正、Dasha+Transit推运、精确预测 - 完整方法论:三层验证法、五级大运联动、婚姻/职业/财富预测清单 - 参考文档:15个专业文档(Yoga、Dasha、Nakshatra、宫位映射、名人案例等) - 能力水平:高级专业占星师(5.0/5) - 更新记录:2026-04-20 完成全网相似案例搜索、宫位现代生活场景映射学习
This commit is contained in:
@@ -0,0 +1,229 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
印度占星 Dasha 推算脚本
|
||||
基于用户提供的星盘数据(月亮Nakshatra + 出生日期)推算大运/小运时间线
|
||||
|
||||
用法:
|
||||
python3 dasha_analyzer.py --nakshatra "Jyeshtha" --pada 3 --birthdate 1985-08-20
|
||||
python3 dasha_analyzer.py --moon-lon 226.5 --birthdate 1985-08-20
|
||||
"""
|
||||
|
||||
import argparse
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
# Nakshatra 对应大运主星与年限
|
||||
NAKSHATRA_LIST = [
|
||||
("Ashwini", "Ketu", 7),
|
||||
("Bharani", "Venus", 20),
|
||||
("Krittika", "Sun", 6),
|
||||
("Rohini", "Moon", 10),
|
||||
("Mrigashira", "Mars", 7),
|
||||
("Ardra", "Rahu", 18),
|
||||
("Punarvasu", "Jupiter", 16),
|
||||
("Pushya", "Saturn", 19),
|
||||
("Ashlesha", "Mercury", 17),
|
||||
("Magha", "Ketu", 7),
|
||||
("Purva Phalguni", "Venus", 20),
|
||||
("Uttara Phalguni", "Sun", 6),
|
||||
("Hasta", "Moon", 10),
|
||||
("Chitra", "Mars", 7),
|
||||
("Swati", "Rahu", 18),
|
||||
("Vishakha", "Jupiter", 16),
|
||||
("Anuradha", "Saturn", 19),
|
||||
("Jyeshtha", "Mercury", 17),
|
||||
("Mula", "Ketu", 7),
|
||||
("Purva Ashadha", "Venus", 20),
|
||||
("Uttara Ashadha", "Sun", 6),
|
||||
("Shravana", "Moon", 10),
|
||||
("Dhanishtha", "Mars", 7),
|
||||
("Shatabhisha", "Rahu", 18),
|
||||
("Purva Bhadrapada", "Jupiter", 16),
|
||||
("Uttara Bhadrapada", "Saturn", 19),
|
||||
("Revati", "Mercury", 17),
|
||||
]
|
||||
|
||||
DASHA_ORDER = ["Ketu","Venus","Sun","Moon","Mars","Rahu","Jupiter","Saturn","Mercury"]
|
||||
DASHA_YEARS = {"Ketu":7,"Venus":20,"Sun":6,"Moon":10,"Mars":7,"Rahu":18,"Jupiter":16,"Saturn":19,"Mercury":17}
|
||||
|
||||
PLANET_CN = {
|
||||
"Ketu":"南交点 Ketu ☄️",
|
||||
"Venus":"金星 Venus ♀",
|
||||
"Sun":"太阳 Sun ☀️",
|
||||
"Moon":"月亮 Moon 🌙",
|
||||
"Mars":"火星 Mars ♂",
|
||||
"Rahu":"北交点 Rahu 🐉",
|
||||
"Jupiter":"木星 Jupiter ♃",
|
||||
"Saturn":"土星 Saturn ♄",
|
||||
"Mercury":"水星 Mercury ☿",
|
||||
}
|
||||
|
||||
def fuzzy_match_nakshatra(name):
|
||||
"""模糊匹配 Nakshatra 名称"""
|
||||
name_lower = name.lower().replace(" ", "").replace("-", "")
|
||||
for nak in NAKSHATRA_LIST:
|
||||
if name_lower in nak[0].lower().replace(" ", ""):
|
||||
return nak
|
||||
if nak[0].lower().replace(" ", "").startswith(name_lower[:5]):
|
||||
return nak
|
||||
return None
|
||||
|
||||
def lon_to_nakshatra(moon_lon):
|
||||
"""月亮黄经(0-360)→ Nakshatra + Pada"""
|
||||
nak_span = 360 / 27
|
||||
pada_span = nak_span / 4
|
||||
idx = int(moon_lon / nak_span)
|
||||
progress = (moon_lon % nak_span) / nak_span
|
||||
pada = int((moon_lon % nak_span) / pada_span) + 1
|
||||
return NAKSHATRA_LIST[idx], progress, pada
|
||||
|
||||
def build_dasha_timeline(birth_date_str, nak_info, nak_progress):
|
||||
"""构建完整大运时间线"""
|
||||
birth_dt = datetime.strptime(birth_date_str, "%Y-%m-%d")
|
||||
nak_name, start_lord, start_years = nak_info
|
||||
|
||||
# 当前大运已经走了多少年
|
||||
elapsed = nak_progress * start_years
|
||||
remaining = start_years - elapsed
|
||||
|
||||
# 当前大运的实际开始时间(往回推)
|
||||
current_dasha_start = birth_dt - timedelta(days=elapsed * 365.25)
|
||||
|
||||
start_idx = DASHA_ORDER.index(start_lord)
|
||||
timeline = []
|
||||
dt = current_dasha_start
|
||||
|
||||
for i in range(9):
|
||||
lord = DASHA_ORDER[(start_idx + i) % 9]
|
||||
years = DASHA_YEARS[lord]
|
||||
end_dt = dt + timedelta(days=years * 365.25)
|
||||
timeline.append({
|
||||
"lord": lord,
|
||||
"start": dt,
|
||||
"end": end_dt,
|
||||
"years": years,
|
||||
})
|
||||
dt = end_dt
|
||||
|
||||
return timeline, round(elapsed, 2), round(remaining, 2), start_lord
|
||||
|
||||
def build_antardasha(mahadasha):
|
||||
"""计算某个大运内的全部小运"""
|
||||
lord = mahadasha["lord"]
|
||||
total_days = (mahadasha["end"] - mahadasha["start"]).days
|
||||
start_idx = DASHA_ORDER.index(lord)
|
||||
sub_list = []
|
||||
dt = mahadasha["start"]
|
||||
|
||||
for i in range(9):
|
||||
sub_lord = DASHA_ORDER[(start_idx + i) % 9]
|
||||
sub_years = DASHA_YEARS[sub_lord]
|
||||
# 小运时长 = 大运总年数 × 小运行星年占比 / 120
|
||||
sub_days = total_days * sub_years / 120
|
||||
end_dt = dt + timedelta(days=sub_days)
|
||||
sub_list.append({
|
||||
"lord": sub_lord,
|
||||
"start": dt,
|
||||
"end": end_dt,
|
||||
})
|
||||
dt = end_dt
|
||||
|
||||
return sub_list
|
||||
|
||||
def find_current(timeline, today):
|
||||
"""找到当前所处的大运"""
|
||||
for i, d in enumerate(timeline):
|
||||
if d["start"] <= today < d["end"]:
|
||||
return i, d
|
||||
return len(timeline) - 1, timeline[-1]
|
||||
|
||||
def find_current_sub(sub_list, today):
|
||||
"""找到当前小运"""
|
||||
for d in sub_list:
|
||||
if d["start"] <= today < d["end"]:
|
||||
return d
|
||||
return sub_list[-1]
|
||||
|
||||
def print_timeline(timeline, today, show_sub=True):
|
||||
print(f"\n{'='*62}")
|
||||
print(f" 📅 Vimshottari Dasha 大运时间线")
|
||||
print(f"{'='*62}")
|
||||
print(f" {'大运主星':<22} {'开始':<10} {'结束':<10} {'年限':>4}")
|
||||
print(f" {'-'*58}")
|
||||
|
||||
cur_idx, cur_dasha = find_current(timeline, today)
|
||||
|
||||
for i, d in enumerate(timeline):
|
||||
marker = " ◀ 当前" if i == cur_idx else ""
|
||||
print(f" {PLANET_CN[d['lord']]:<20} {d['start'].strftime('%Y-%m'):<10} {d['end'].strftime('%Y-%m'):<10} {d['years']:>2}年{marker}")
|
||||
|
||||
# 当前大运小运展开
|
||||
if show_sub:
|
||||
print(f"\n{'='*62}")
|
||||
print(f" 🔍 当前大运 [{PLANET_CN[cur_dasha['lord']]}] 小运展开")
|
||||
print(f"{'='*62}")
|
||||
sub_list = build_antardasha(cur_dasha)
|
||||
cur_sub = find_current_sub(sub_list, today)
|
||||
|
||||
print(f" {'小运主星':<22} {'开始':<10} {'结束'}")
|
||||
print(f" {'-'*50}")
|
||||
for s in sub_list:
|
||||
marker = " ◀ 当前" if s == cur_sub else ""
|
||||
print(f" {PLANET_CN[s['lord']]:<20} {s['start'].strftime('%Y-%m-%d'):<10} {s['end'].strftime('%Y-%m-%d')}{marker}")
|
||||
|
||||
# 当前小运剩余时间
|
||||
remaining_days = (cur_sub["end"] - today).days
|
||||
print(f"\n 当前小运 [{PLANET_CN[cur_sub['lord']]}] 将于 {cur_sub['end'].strftime('%Y年%m月%d日')} 结束")
|
||||
print(f" 剩余约 {remaining_days} 天({round(remaining_days/30.44, 1)} 个月)")
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='印度占星 Dasha 推算器(基于已知星盘)')
|
||||
parser.add_argument('--nakshatra', help='月亮 Nakshatra 名称,如 "Jyeshtha"')
|
||||
parser.add_argument('--pada', type=int, default=None, help='Nakshatra Pada(1-4)')
|
||||
parser.add_argument('--moon-lon', type=float, help='月亮恒星黄经(0-360),与--nakshatra二选一')
|
||||
parser.add_argument('--birthdate', required=True, help='出生日期 YYYY-MM-DD')
|
||||
parser.add_argument('--today', default=None, help='计算基准日期 YYYY-MM-DD(默认今天)')
|
||||
args = parser.parse_args()
|
||||
|
||||
today = datetime.strptime(args.today, "%Y-%m-%d") if args.today else datetime.now()
|
||||
|
||||
print(f"\n{'='*62}")
|
||||
print(f" 🌙 印度占星 Vimshottari Dasha 推算器")
|
||||
print(f"{'='*62}")
|
||||
print(f" 出生日期:{args.birthdate}")
|
||||
print(f" 计算基准:{today.strftime('%Y-%m-%d')}")
|
||||
|
||||
if args.nakshatra:
|
||||
nak_info = fuzzy_match_nakshatra(args.nakshatra)
|
||||
if not nak_info:
|
||||
print(f" ❌ 未找到 Nakshatra:{args.nakshatra}")
|
||||
print(f" 请检查拼写,或使用 --moon-lon 直接输入月亮黄经")
|
||||
return
|
||||
# 若提供了Pada,推算更精确的进度
|
||||
if args.pada:
|
||||
pada = max(1, min(4, args.pada))
|
||||
progress = (pada - 1) / 4 + 0.125 # 每Pada约25%,取中间值
|
||||
else:
|
||||
progress = 0.5 # 默认取中间
|
||||
print(f" 月亮星宿:{nak_info[0]}(大运主星:{nak_info[1]},{nak_info[2]}年)")
|
||||
if args.pada:
|
||||
print(f" Pada:第{args.pada}Pada")
|
||||
|
||||
elif args.moon_lon is not None:
|
||||
nak_info, progress, pada = lon_to_nakshatra(args.moon_lon % 360)
|
||||
print(f" 月亮黄经:{args.moon_lon:.2f}°")
|
||||
print(f" 月亮星宿:{nak_info[0]}(第{pada}Pada,大运主星:{nak_info[1]})")
|
||||
else:
|
||||
print(" ❌ 请提供 --nakshatra 或 --moon-lon")
|
||||
return
|
||||
|
||||
timeline, elapsed, remaining, start_lord = build_dasha_timeline(args.birthdate, nak_info, progress)
|
||||
|
||||
print(f"\n 出生时处于 [{PLANET_CN[start_lord]}] 大运")
|
||||
print(f" 出生时已历时约 {elapsed} 年,剩余约 {remaining} 年")
|
||||
|
||||
print_timeline(timeline, today)
|
||||
|
||||
print(f"\n{'='*62}\n")
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,268 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Vedic Astrology Dasha Period Calculator
|
||||
计算印度占星大运周期
|
||||
|
||||
This script helps calculate Dasha periods based on Nakshatra position.
|
||||
"""
|
||||
|
||||
# Standard Vimshottari Dasha periods in years
|
||||
VIMSHOTTARI_PERIODS = {
|
||||
'Ketu': 7,
|
||||
'Venus': 20,
|
||||
'Sun': 6,
|
||||
'Moon': 10,
|
||||
'Mars': 7,
|
||||
'Rahu': 18,
|
||||
'Jupiter': 16,
|
||||
'Saturn': 19,
|
||||
'Mercury': 17
|
||||
}
|
||||
|
||||
# Planetary order in Vimshottari Dasha
|
||||
DASHA_ORDER = ['Ketu', 'Venus', 'Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury']
|
||||
|
||||
def calculate_mahadasha(birth_nakshatra):
|
||||
"""
|
||||
Calculate starting Mahadasha based on Moon's Nakshatra at birth
|
||||
|
||||
Args:
|
||||
birth_nakshatra: Nakshatra where Moon was at birth (1-27)
|
||||
|
||||
Returns:
|
||||
Dict with starting Mahadasha lord and remaining years in that period
|
||||
"""
|
||||
nakshatra_num = birth_nakshatra
|
||||
|
||||
# Map Nakshatra to starting planet
|
||||
# Ashwini (1), Magha (10), Mula (19) -> Ketu
|
||||
# Bharani (2), Purva Phalguni (11), Purva Ashadha (20) -> Venus
|
||||
# Krittika (3), Uttara Phalguni (12), Uttara Ashadha (21) -> Sun
|
||||
# Rohini (4), Hasta (13), Shravana (22) -> Moon
|
||||
# Mrigashira (5), Chitra (14), Dhanishta (23) -> Mars
|
||||
# Ardra (6), Swati (15), Shatabhisha (24) -> Rahu
|
||||
# Punarvasu (7), Vishakha (16), Purva Bhadrapada (25) -> Jupiter
|
||||
# Pushya (8), Anuradha (17), Uttara Bhadrapada (26) -> Saturn
|
||||
# Ashlesha (9), Jyeshtha (18), Revati (27) -> Mercury
|
||||
|
||||
# Find remainder when nakshatra number is divided by 9
|
||||
remainder = nakshatra_num % 9
|
||||
if remainder == 0:
|
||||
remainder = 9
|
||||
|
||||
# Get the starting Dasha lord
|
||||
starting_planet_index = remainder - 1 # Convert to 0-indexed
|
||||
starting_planet = DASHA_ORDER[starting_planet_index]
|
||||
|
||||
# Calculate remaining years in first Mahadasha
|
||||
total_years = VIMSHOTTARI_PERIODS[starting_planet]
|
||||
nakshatra_pada = ((nakshatra_num - 1) % 4) + 1 # Get pada (1-4)
|
||||
|
||||
# Each pada = 1/4 of the period (approximately)
|
||||
# For precise calculation, need Moon's degree within Nakshatra
|
||||
remaining_years = total_years - (nakshatra_pada - 1) * (total_years / 4)
|
||||
|
||||
return {
|
||||
'starting_mahadasha': starting_planet,
|
||||
'total_years': total_years,
|
||||
'remaining_years': remaining_years,
|
||||
'starting_age': remaining_years - total_years # Should be negative
|
||||
}
|
||||
|
||||
|
||||
def get_mahadasha_sequence(starting_planet):
|
||||
"""
|
||||
Get the complete Mahadasha sequence starting from given planet
|
||||
|
||||
Args:
|
||||
starting_planet: Planet that starts the sequence
|
||||
|
||||
Returns:
|
||||
List of tuples (planet, years) in sequence
|
||||
"""
|
||||
sequence = []
|
||||
|
||||
# Find starting index
|
||||
start_index = DASHA_ORDER.index(starting_planet)
|
||||
|
||||
# Build sequence (120 years total)
|
||||
for i in range(9): # 9 planets
|
||||
planet_index = (start_index + i) % 9
|
||||
planet = DASHA_ORDER[planet_index]
|
||||
years = VIMSHOTTARI_PERIODS[planet]
|
||||
sequence.append((planet, years))
|
||||
|
||||
return sequence
|
||||
|
||||
|
||||
def calculate_bhukti(mahadasha_planet, years_into_mahadasha):
|
||||
"""
|
||||
Calculate current Bhukti (sub-period) within Mahadasha
|
||||
|
||||
Args:
|
||||
mahadasha_planet: Current Mahadasha lord
|
||||
years_into_mahadasha: Years elapsed in current Mahadasha
|
||||
|
||||
Returns:
|
||||
Dict with current Bhukti and remaining years
|
||||
"""
|
||||
mahadasha_total = VIMSHOTTARI_PERIODS[mahadasha_planet]
|
||||
sequence = get_mahadasha_sequence(mahadasha_planet)
|
||||
|
||||
years_remaining = years_into_mahadasha
|
||||
|
||||
for planet, years in sequence:
|
||||
if years_remaining <= years:
|
||||
return {
|
||||
'bhukti_lord': planet,
|
||||
'bhukti_years': years,
|
||||
'years_into_bhukti': years_remaining,
|
||||
'years_remaining': years - years_remaining,
|
||||
'bhukti_percentage': (years_remaining / years) * 100
|
||||
}
|
||||
years_remaining -= years
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def calculate_pratyantar_dasha(mahadasha_planet, bhukti_planet, years_into_bhukti):
|
||||
"""
|
||||
Calculate Pratyantar Dasha (sub-sub-period)
|
||||
|
||||
This is a more detailed calculation based on the ratio of the
|
||||
Mahadasha and Bhukti periods.
|
||||
"""
|
||||
mahadasha_years = VIMSHOTTARI_PERIODS[mahadasha_planet]
|
||||
bhukti_years = VIMSHOTTARI_PERIODS[bhukti_planet]
|
||||
|
||||
# Pratyantar Dasha proportion = (Bhukti years / 120) * Mahadasha years
|
||||
pratyantar_proportion = (bhukti_years / 120) * mahadasha_years
|
||||
|
||||
sequence = get_mahadasha_sequence(mahadasha_planet)
|
||||
|
||||
pratyantar_sequence = []
|
||||
for planet, _ in sequence:
|
||||
pratyantar_years = (VIMSHOTTARI_PERIODS[planet] / 120) * pratyantar_proportion
|
||||
pratyantar_sequence.append((planet, pratyantar_years))
|
||||
|
||||
return pratyantar_sequence
|
||||
|
||||
|
||||
def get_current_dasha_period(birth_nakshatra, current_age):
|
||||
"""
|
||||
Get complete current Dasha hierarchy (Mahadasha, Bhukti, Pratyantar)
|
||||
|
||||
Args:
|
||||
birth_nakshatra: Moon's Nakshatra at birth (1-27)
|
||||
current_age: Current age of native
|
||||
|
||||
Returns:
|
||||
Dict with complete Dasha hierarchy
|
||||
"""
|
||||
# Calculate starting Mahadasha
|
||||
start_info = calculate_mahadasha(birth_nakshatra)
|
||||
|
||||
# Find current Mahadasha
|
||||
sequence = get_mahadasha_sequence(start_info['starting_mahadasha'])
|
||||
years_elapsed = current_age
|
||||
|
||||
current_mahadasha = None
|
||||
years_in_mahadasha = 0
|
||||
|
||||
for planet, years in sequence:
|
||||
if years_elapsed <= years:
|
||||
current_mahadasha = planet
|
||||
years_in_mahadasha = years_elapsed
|
||||
break
|
||||
years_elapsed -= years
|
||||
|
||||
if not current_mahadasha:
|
||||
return None
|
||||
|
||||
# Calculate Bhukti
|
||||
bhukti_info = calculate_bhukti(current_mahadasha, years_in_mahadasha)
|
||||
|
||||
# Calculate Pratyantar Dasha
|
||||
if bhukti_info:
|
||||
pratyantar_sequence = calculate_pratyantar_dasha(
|
||||
current_mahadasha,
|
||||
bhukti_info['bhukti_lord'],
|
||||
bhukti_info['years_into_bhukti']
|
||||
)
|
||||
|
||||
# Find current Pratyantar
|
||||
years_in_bhukti = bhukti_info['years_into_bhukti']
|
||||
current_pratyantar = None
|
||||
|
||||
for planet, years in pratyantar_sequence:
|
||||
if years_in_bhukti <= years:
|
||||
current_pratyantar = planet
|
||||
break
|
||||
years_in_bhukti -= years
|
||||
else:
|
||||
current_pratyantar = None
|
||||
pratyantar_sequence = []
|
||||
|
||||
return {
|
||||
'mahadasha': {
|
||||
'lord': current_mahadasha,
|
||||
'years_into_period': years_in_mahadasha,
|
||||
'total_years': VIMSHOTTARI_PERIODS[current_mahadasha]
|
||||
},
|
||||
'bhukti': bhukti_info,
|
||||
'pratyantar': {
|
||||
'lord': current_pratyantar,
|
||||
'sequence': pratyantar_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def print_dasha_summary(birth_nakshatra, current_age):
|
||||
"""
|
||||
Print a formatted summary of current Dasha period
|
||||
"""
|
||||
current_dasha = get_current_dasha_period(birth_nakshatra, current_age)
|
||||
|
||||
if not current_dasha:
|
||||
print("Error: Unable to calculate Dasha period")
|
||||
return
|
||||
|
||||
print("=" * 60)
|
||||
print("CURRENT DASHA PERIOD")
|
||||
print("=" * 60)
|
||||
print(f"Moon Nakshatra at Birth: {birth_nakshatra}")
|
||||
print(f"Current Age: {current_age} years")
|
||||
print("-" * 60)
|
||||
|
||||
# Mahadasha
|
||||
md = current_dasha['mahadasha']
|
||||
print(f"Mahadasha: {md['lord']} (Lord)")
|
||||
print(f" Years into period: {md['years_into_period']:.2f} / {md['total_years']}")
|
||||
print(f" Percentage: {(md['years_into_period'] / md['total_years']) * 100:.1f}%")
|
||||
|
||||
# Bhukti
|
||||
bk = current_dasha['bhukti']
|
||||
if bk:
|
||||
print(f"\nBhukti (Sub-period): {bk['bhukti_lord']} (Lord)")
|
||||
print(f" Years into Bhukti: {bk['years_into_bhukti']:.2f} / {bk['bhukti_years']}")
|
||||
print(f" Percentage: {bk['bhukti_percentage']:.1f}%")
|
||||
|
||||
# Pratyantar
|
||||
pr = current_dasha['pratyantar']
|
||||
if pr['lord']:
|
||||
print(f"\nPratyantar (Sub-sub-period): {pr['lord']} (Lord)")
|
||||
|
||||
print("=" * 60)
|
||||
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
# Example: Moon in 3rd Nakshatra (Krittika) at birth, native is 35 years old
|
||||
print("Example: Moon in Krittika (Nakshatra 3), Age 35")
|
||||
print_dasha_summary(birth_nakshatra=3, current_age=35)
|
||||
|
||||
print("\n\n")
|
||||
|
||||
# Example: Moon in 14th Nakshatra (Chitra) at birth, native is 42 years old
|
||||
print("Example: Moon in Chitra (Nakshatra 14), Age 42")
|
||||
print_dasha_summary(birth_nakshatra=14, current_age=42)
|
||||
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Example helper script for jyotish-vedic-astrology
|
||||
|
||||
This is a placeholder script that can be executed directly.
|
||||
Replace with actual implementation or delete if not needed.
|
||||
|
||||
Example real scripts from other skills:
|
||||
- pdf/scripts/fill_fillable_fields.py - Fills PDF form fields
|
||||
- pdf/scripts/convert_pdf_to_images.py - Converts PDF pages to images
|
||||
"""
|
||||
|
||||
def main():
|
||||
print("This is an example script for jyotish-vedic-astrology")
|
||||
# TODO: Add actual script logic here
|
||||
# This could be data processing, file conversion, API calls, etc.
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user