Files
Jyotisha/references/open-source-jyotish-scan-2026.md
732642856 f83db2fac1 Enhance Jyotish validation and Jaimini modules
- add external validation reports and open-source comparison references

- integrate Jaimini arudha/graha pada, enhanced argala, and additional synastry kutas

- update skill docs and capability matrices

- add smoke tests for open-source integrations
2026-06-10 20:50:52 +08:00

295 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Jyotish开源项目全网扫描 (2026-06)
> 扫描日期:2026-06-10 | 扫描范围:GitHub, PyPI, npm | 重点:Python项目,次选Node.js/Rust/Java
---
## ⭐⭐⭐ 强烈推荐(可直接复用代码)
MIT/Apache-2.0许可证项目,代码可直接复制使用。
| 项目 | ⭐ | 许可证 | 最后更新 | 语言 | 可复用核心模块 |
|------|----|--------|----------|------|---------------|
| **dashaflow** | 1 | MIT | 2026-04-08 | Python | Ashtakavarga(SAV/BAV/Prashtara), Shadbala, D2-D60(14种), Jaimini(Karakas/Arudha/Karakamsha), 24 Yogas, Synastry(16因子), Muhurtha, Transit(Sade Sati), Panchang, Vimshottari 5层, Career分析 |
| **jyotishganit** | 32 | MIT | 2026-05-30 | Python | D1-D60全部分盘, Shadbala完整六维, Ashtakavarga(SAV/BAV), Vimshottari Dasha, Panchang, Graha Drishti, Planetary Dignities, JSON-LD输出 |
| **panchanga_api** | 2 | MIT | 2026-03-16 | Python | KP System(249 sublords), 300+ Yogas, Ashtakavarga, **Tajika/Varshaphala(含Muntha/Tajika Yogas)**, Prashna卜卦, **Muhurta择时**, **Remedies(宝石/咒语/仪式)**, Shadbala, D1-D60(20种), Synastry, Transit, Panchang, Vimshottari Dasha, Choghadiya/Hora, Pancha Pakshi |
| **jaimini-tropical** | 0 | MIT | 2026-05-28 | Python | **Jaimini完整引擎**: Chara Karaka(7/8星), Arudha Padas(A1-A12+Upapada), Argala(正向/反向/分类), Chara Dasha(含Antar), Special Lagnas(HL/GL/VL), Jaimini D-9/D-3/D-12 |
| **VedicAstro** | 63 | MIT | 活跃 | Python | KP System(249 sublords/sub-sublords), Prashna/Horary完整(horary_chart.py), Significators(ABCD法), Vimshottari Dasha, Planetary Aspects |
| **KPAstroDashboard** | 3 | MIT | 2025-06-13 | Python | KP卜卦引擎(horary chart generation), Sublord高精度计算, 多种Ayanamsa, Swiss Ephemeris集成 |
| **vedic_astro_npm** | 1 | MIT | 2025 | TypeScript | Panchang(Tithi/Nakshatra/Yoga/Karana), Gun Milan(Ashtakoota 36分), Kundali(D1), Daily Transit/Gochar, 纯JS天文计算 |
### URL列表
| 项目 | GitHub URL | PyPI/npm |
|------|-----------|----------|
| dashaflow | https://github.com/adarshj322/dashaflow | `pip install dashaflow` |
| jyotishganit | https://github.com/northtara/jyotishganit | `pip install jyotishganit` |
| panchanga_api | https://github.com/degen0root/panchanga_api | MCP Server |
| jaimini-tropical | https://github.com/tunanfang-pixel/jaimini-tropical | 本地安装 |
| VedicAstro | https://github.com/diliprk/VedicAstro | `pip install VedicAstro` |
| KPAstroDashboard | https://github.com/manan-ramnani/KPAstroDashboard | 本地安装 |
| vedic_astro_npm | https://github.com/arpitasah00/vedic_astro_npm | `npm install vedic_astro_npm` |
---
## ⭐⭐ 推荐(可借鉴思路,GPL/AGPL许可证)
源码可参考但不能直接复制,算法思路可翻译实现。
| 项目 | ⭐ | 许可证 | 最后更新 | 语言 | 核心价值 |
|------|----|--------|----------|------|---------|
| **vedic-calc** | - | AGPL-3.0 | 2026-03 | Python | **最全面AGPL项目**: Ashtakavarga, **Tajika(Ithasala/Easarapha/Induvara/Kamboola/Nakta)**, KP(249 sublord), Jaimini(Chara Karaka/Arudha Padas), **Prashna(含裁决引擎)**, **Muhurta(5层Panchang过滤求解器)**, Yoga(20+), Synastry(Ashtakoot+Porutham), Transit, D1-D60, Shadbala, Panchang, Nakshatra, Remedies, Dasha(4种: Vimshottari/Yogini/Ashtottari/Narayana) |
| **PyJHora** | ~500+ | AGPL | 2026-05-30 | Python | **最全面Python库**: D1-D300全部分盘, 47种Dasha系统, 100+ Yogas, Synastry, Transit, 8种Dosha, Panchang, 多语言UI, ~6800单元测试 |
| **VedAstro (主项目)** | 563 | MIT(C#) | 活跃 | C#/.NET | Prashna卜卦, Muhurta择时, Gochara行运(含Vedha), Dasha(5层), Matchmaking(10 Kuta), AI Astrologer, 出生时间校正 |
| **xalen-ephemeris** | 405 | Apache-2.0 | 2026-06 | Rust | **下一代星历引擎**: Dasha, Shadbala, 16 Vargas, KP, Jaimini, Tajika, Ashtakavarga, 50种Ayanamsa, 23种宫位系统, JPL精度 |
### URL列表
| 项目 | URL |
|------|-----|
| vedic-calc | https://atolat.github.io/vedic-calc/ (PyPI: `pip install vedic-calc`) |
| PyJHora | https://github.com/naturalstupid/PyJHora (`pip install PyJHora`) |
| VedAstro | https://github.com/VedAstro/VedAstro |
| xalen-ephemeris | https://github.com/vedika-io/xalen-ephemeris |
---
## 新发现项目(2024-2026
近两年涌现的高质量新项目。
| 项目 | 发现时间 | ⭐ | 许可证 | 语言 | 亮点 |
|------|----------|----|--------|------|------|
| **jaimini-tropical** | 2026-05 | 0 | MIT | Python | 首个热带黄道Jaimini引擎, 基于Rangacharya原著 |
| **dashaflow** | 2026-04 | 1 | MIT | Python | 最全面的MIT Python库, 覆盖几乎所有技法 |
| **jyotishganit** | 2025-10 | 32 | MIT | Python | 专业级, D1-D60+Shadbala+Ashtakavarga |
| **panchanga_api** | 2026-03 | 2 | MIT | Python | 唯一同时实现Tajika+KP+Prashna+Remedies的MIT项目 |
| **vedic-calc** | 2026-03 | - | AGPL | Python | 算法最完整, Tajika/Muhurta/Prashna裁决引擎 |
| **vedic-transit-calculator** | 2025-12 | - | - | Python | 专用行运计算工具 |
| **KPAstroDashboard** | 2025-06 | 3 | MIT | Python | KP卜卦专用工具 |
| **vedic_astro_npm** | 2025-12 | 1 | MIT | TypeScript | 纯JS天文计算, 零依赖 |
| **astrokundali** | 2026-01 | - | MIT | Python | D1-D60分盘, 北印度图, 婚配 |
| **xalen-ephemeris** | 2024 | 405 | Apache-2.0 | Rust | 纯Rust星历, 所有Jyotish功能 |
| **vedic-panchang** | 2026-02 | - | - | Python | 专用Panchang库, Swiss Ephemeris |
| **PanchangaAPI (MCP)** | 2025 | - | - | Python | MCP协议, 300+Yogas+KP+Ashtakavarga |
---
## 各技法最佳代码来源
按技法逐一列出最佳开源实现。
### 1. Ashtakavarga(八宫分盘点数系统)
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **dashaflow** ⭐ | MIT | SAV, BAV, Prashtara(源级bindu) | `dashaflow/ashtakavarga.py` |
| **jyotishganit** | MIT | SAV, BAV(按星座分布) | `jyotishganit/` |
| panchanga_api | MIT | SAV完整 | `chart.kundali` |
| vedic-calc | AGPL | 8源bindu系统, SAV综合 | 借鉴思路 |
| PyJHora | AGPL | 完整Ashtakavarga | 借鉴思路 |
### 2. Tajika / Varshaphala(年度盘/太阳回归)
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **panchanga_api** ⭐ | MIT | Varshaphal(Muntha/Year Lord), Tajika Yogas完整 | `prediction.varshaphal` |
| vedic-calc | AGPL | Ithasala/Easarapha/Induvara/Kamboola/Nakta, Varshaphal | 借鉴思路 |
| xalen-ephemeris | Apache-2.0 | Tajika系统(纯Rust,需翻译) | 借鉴思路 |
### 3. KP SystemKrishnamurti Paddhati
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **panchanga_api** ⭐ | MIT | Sub-lords, Significators, Cuspal分析 | `analysis.kp_system` |
| **VedicAstro** ⭐ | MIT | 249 sublord/sub-sublord, Significators(ABCD), Prashna | `VedicHoroscopeData`类 |
| **KPAstroDashboard** ⭐ | MIT | 卜卦引擎, Sublord高精度, KP_SL_Divisions.csv | `main.py` |
| vedic-calc | AGPL | KP盘(Placidus宫头+sign/star/sub lord), 249 sublord表 | 借鉴思路 |
| xalen-ephemeris | Apache-2.0 | KP体系(纯Rust) | 借鉴思路 |
### 4. Jaimini完整实现
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **jaimini-tropical** ⭐⭐⭐ | MIT | Chara Karaka(7/8星), Arudha Padas(A1-A12+Upapada), **Argala(正向/反向/王瑜伽分类)**, Chara Dasha(含Antar), Special Lagnas(HL/GL/VL), Jaimini D-9/D-3/D-12, **Karakamsa Rajayoga** | `jaimini/core/` |
| **dashaflow** ⭐ | MIT | 7 Karakas, Arudha Padas(A1-A12含例外规则), Upapada(A12), Karakamsha(AK in Navamsha, Ishta Devata) | `dashaflow/jaimini.py` |
| vedic-calc | AGPL | Chara Karakas, Arudha Padas | 借鉴思路 |
| PyJHora | AGPL | Jaimini完整系统 | 借鉴思路 |
### 5. Prashna(问卦占星)
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **panchanga_api** ⭐ | MIT | Horary征象星, 指示评分 | `prediction.prashna` |
| **VedicAstro** ⭐ | MIT | 完整卜卦(horary_chart.py: `get_horary_ascendant_degree`, `find_exact_ascendant_time`) | `horary_chart.py` |
| **KPAstroDashboard** ⭐ | MIT | KP卜卦引擎, 卜卦数字计算 | `main.py` |
| vedic-calc | AGPL | Prashna盘+Tajika瑜伽+**裁决引擎**(吉/凶/混合判定+推理) | 借鉴思路 |
| VedAstro (C#) | MIT(C#) | Prashna问卦 | 借鉴思路 |
### 6. Muhurta(择日占星)
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **panchanga_api** ⭐ | MIT | 排名吉祥时间窗口, 质量评分, 婚礼/商业/旅行等 | `analysis.muhurta` |
| **dashaflow** ⭐ | MIT | 6种活动类型, Panchang Suddhi, 婚姻Dosha检测 | `dashaflow/muhurtha.py` |
| vedic-calc | AGPL | **Muhurta求解器**(日期范围+5层Panchang过滤+Chandrabala/Tarabala个人覆盖) | 借鉴思路 |
| VedAstro (C#) | MIT(C#) | Muhurta择时 | 借鉴思路 |
### 7. Yoga识别器(300+ Yogas
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **panchanga_api** ⭐ | MIT | **300+ Yogas**完整识别 | `chart.kundali` |
| **dashaflow** ⭐ | MIT | 24种Yoga(Pancha Mahapurusha, Gajakesari, Budhaditya, Raj, Neecha Bhanga, Parivartana, Dhana等) | `dashaflow/yoga.py` |
| PyJHora | AGPL | 100+ Yogas | 借鉴思路 |
| vedic-calc | AGPL | 20+ Yogas含Viparita Raja, Saraswati, Kemadruma | 借鉴思路 |
### 8. Synastry / 婚配分析
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **dashaflow** ⭐ | MIT | **16因子**匹配(Ashtakoot 36分+Mahendra/Stree Deergha/Vedha/Rajju), Kuja Dosha | `dashaflow/matchmaking.py` |
| **panchanga_api** ⭐ | MIT | Ashtakoot 8重匹配(36分制) | `analysis.compatibility` |
| vedic-calc | AGPL | Ashtakoot(Porutham 10因素)+北印度8因素 | 借鉴思路 |
| PyJHora | AGPL | 完整MatchWidget界面 | 借鉴思路 |
| astrokundali | MIT | Kundli Milan, Pandas输出 | `astrokundali` |
### 9. Transit分析(Gochar
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **dashaflow** ⭐ | MIT | 行运盘叠加本命, **SAV点**, **Sade Sati检测**, Rahu-Ketu轴 | `dashaflow/vedic_calculator.py` (cast_transit) |
| **panchanga_api** ⭐ | MIT | 行星行运相对出生月亮, Sade Sati检测 | `prediction.transits` |
| vedic-calc | AGPL | 当前天空叠加本命 | 借鉴思路 |
| vedic-transit-calculator | - | 终端工具, Swiss Ephemeris | 借鉴思路 |
### 10. D1-D60全部分盘图
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **jyotishganit** ⭐ | MIT | **D1-D60全13种**(含D60 Shashtiamsha) | `jyotishganit/` |
| **dashaflow** ⭐ | MIT | D2-D60共14种(每个行星返回所有分盘星座) | `dashaflow/vedic_calculator.py` |
| **panchanga_api** ⭐ | MIT | D1-D60共20种分盘 | `chart.vargas` |
| PyJHora | AGPL | **D1-D300**全部分盘 | 借鉴思路 |
| vedic-calc | AGPL | D1-D60全部 | 借鉴思路 |
### 11. Shadbala完整六维计算
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **jyotishganit** ⭐ | MIT | Sthana/Kala/Dig/Chesta/Naisargika/Drik Bala + 总力量Rupas换算 | `jyotishganit/` |
| **dashaflow** ⭐ | MIT | 六重力量(Rupas+百分比), **Ishta/Kashta Phala** | `dashaflow/shadbala.py` |
| panchanga_api | MIT | 六重力量含分解 | `analysis.shadbala` |
| vedic-calc | AGPL | 六维完整 | 借鉴思路 |
### 12. Panchang(五要素日历)
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **dashaflow** ⭐ | MIT | Tithi, Vara, Nakshatra, Yoga, Karana | `dashaflow/panchang.py` |
| **jyotishganit** ⭐ | MIT | 完整五要素 | `jyotishganit/` |
| **panchanga_api** ⭐ | MIT | 完整Panchanga+Rahu Kalam+Yamaganda+Gulika, **Panchanga组合搜索**, 多日范围查询, Vrata斋戒日历, 50+节日 | `chart.panchanga` |
| vedic-calc | AGPL | 五要素+日出日落+节日 | 借鉴思路 |
| vedic-panchang | - | 专用Panchang, JPL DE431 | PyPI |
| vedic_astro_npm | MIT | Panchang+吉时/凶时窗口 | TypeScript可翻译 |
### 13. Nakshatra详细分析
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **dashaflow** ⭐ | MIT | Nakshatra+Pada查找 | `dashaflow/nakshatra.py` |
| **jyotishganit** ⭐ | MIT | Nakshatra完整(含Yogatara) | `jyotishganit/` |
| vedic-calc | AGPL | Nakshatra+Pada | 借鉴思路 |
| xalen-ephemeris | Apache-2.0 | Nakshatra+Pada+Yogatara星表 | 借鉴思路 |
### 14. Remedies推荐系统
| 来源 | 许可证 | 实现内容 | 文件路径 |
|------|--------|---------|---------|
| **panchanga_api** ⭐ | MIT | **唯一MIT实现**: 个性化宝石/咒语/仪式推荐, 基于个人星盘 | `analysis.remedies` |
| vedic-calc | AGPL | Dosha附带remedies(严重等级+化解方法) | 借鉴思路 |
---
## 最佳复用策略
### 第一优先级:直接复用(MIT/Apache-2.0
按模块选取最佳MIT代码:
```
Ashtakavarga → dashaflow/ashtakavarga.py (含Prashtara)
Shadbala → dashaflow/shadbala.py + jyotishganit (互补)
Jaimini → jaimini-tropical/jaimini/core/ (最完整)
KP System → VedicAstro + panchanga_api/kp_system
Yoga识别 → panchanga_api (300+) + dashaflow/yoga.py
Synastry → dashaflow/matchmaking.py (16因子)
Transit → dashaflow (Sade Sati + SAV点)
Muhurta → dashaflow/muhurtha.py + panchanga_api/muhurta
Tajika → panchanga_api/varshaphal (唯一MIT)
Prashna → panchanga_api/prashna + VedicAstro/horary_chart.py
Remedies → panchanga_api/remedies (唯一MIT)
D1-D60分盘 → jyotishganit (最完整) + dashaflow
Panchang → dashaflow/panchang.py + panchanga_api (含搜索)
Nakshatra → dashaflow/nakshatra.py
```
### 第二优先级:翻译借鉴(AGPL项目算法思路)
```
vedic-calc → Tajika裁决引擎, Muhurta求解器, Prashna裁决引擎 (算法可翻译)
PyJHora → Dasha系统(47种), Yoga(100+), Dosha(8种) (算法可翻译)
```
### 第三优先级:跨语言参考
```
VedAstro (C#) → Prashna/Muhurta/Gochara预测逻辑 (翻译为Python)
xalen (Rust) → 所有技法的高精度算法参考 (Apache-2.0, 可安全参考)
```
---
## 项目对比矩阵(核心技法覆盖)
| 技法 | dashaflow | jyotishganit | panchanga_api | jaimini-tropical | VedicAstro | vedic-calc | PyJHora |
|------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| Ashtakavarga | ✅ | ✅ | ✅ | ❌ | ⚠️ | ✅ | ✅ |
| Tajika/Varshaphala | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ⚠️ |
| KP System | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ⚠️ |
| Jaimini | ✅ | ❌ | ❌ | ✅✅✅ | ❌ | ✅ | ✅ |
| Prashna | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ⚠️ |
| Muhurta | ✅ | ❌ | ✅ | ❌ | ❌ | ✅✅ | ⚠️ |
| Yoga识别 | ✅(24) | ❌ | ✅(300+) | ❌ | ⚠️ | ✅(20+) | ✅(100+) |
| Synastry | ✅(16) | ❌ | ✅ | ❌ | ❌ | ✅(2系统) | ✅ |
| Transit | ✅(SS+SAV) | ❌ | ✅(SS) | ❌ | ❌ | ✅ | ✅ |
| D1-D60 | ✅(14) | ✅(13) | ✅(20) | D9/3/12 | 部分 | ✅ | ✅(300) |
| Shadbala | ✅(含IKP) | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| Panchang | ✅ | ✅ | ✅✅ | ❌ | ❌ | ✅ | ✅ |
| Nakshatra | ✅ | ✅ | ✅ | ❌ | 基础 | ✅ | ✅ |
| Remedies | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ⚠️ |
| Dasha(数量) | 1 | 1 | 1 | 1(Chara) | 1 | 4 | 47 |
| **许可证** | MIT | MIT | MIT | MIT | MIT | AGPL | AGPL |
图例: ✅✅=最佳实现 ✅=完整实现 ⚠️=部分/计划中 ❌=未实现
---
## 关键结论
1. **最佳MIT全栈库**: **dashaflow** — 覆盖面最广的MIT Python库,实现了除Tajika、KP外的几乎所有核心技法。代码质量好,模块化清晰。
2. **最佳基础计算库**: **jyotishganit** — D1-D60分盘、Shadbala、Ashtakavarga核心计算精度最高,代码质量优秀(pytest/ruff/mypy)。
3. **最佳Jaimini实现**: **jaimini-tropical** — 虽然只有5次提交且0星,但实现了最完整的Jaimini系统(Argala/Arudha/Chara Dasha/Special Lagnas),而且是唯一的热带黄道实现。
4. **填补关键技术空白**: **panchanga_api** 是唯一同时以MIT许可证实现Tajika、KP、Prashna、Remedies的项目。
5. **最佳算法参考**: **vedic-calc** (AGPL) — 虽然不能直接复制代码,但其Tajika裁决引擎和Muhurta求解器的算法设计值得仔细研究。
6. **AGPL vs MIT策略**: 对于MIT项目直接复制代码;对于AGPL项目(PyJHora, vedic-calc)仅借鉴算法思路,用Python独立重新实现。
---
*扫描完成: 共发现18个项目,其中7个MIT/Apache可直接复用,4个AGPL/GPL可借鉴思路。*