比 Swiss Ephemeris 更精确
行星、太阳和月亮直接取自 NASA/JPL DE441 与 DE442 系数,逐位复制。公元 0 至 1550 年的物理位置与 JPL Horizons 相差不超过 0.0005″。
开源。商业使用只需一次性购买200 美元授权。
专业占星师和开发者都在使用
提供 Linux、macOS 和 Windows 的 Python 3.9+ wheels。AGPL-3.0 下免费使用。
星盘速度于 2026 年 10 月在 Apple M4 上按逐个天体调用测得;批量 API 快 7 至 9 倍。每个数字的方法、样本量和复现命令见 引擎报告.
高精度、高速度,可直接用于生产环境。
行星、太阳和月亮直接取自 NASA/JPL DE441 与 DE442 系数,逐位复制。公元 0 至 1550 年的物理位置与 JPL Horizons 相差不超过 0.0005″。
swe_compat 模块保留了占星代码常用的函数名、标志位和返回结构,例如 calc_ut、houses、set_sid_mode 和 fixstar2。
没有可变的全局状态。恒星黄道模式、观测者和 Delta T 设置按线程和 asyncio 任务隔离,并发的 Web 请求不会互相串改设置。
在 Python 中逐次调用每秒约 50 万个位置,通过释放 GIL 的 NumPy 批量 API 每秒约 450 万个。
西方占星、吠陀占星和 KP 应用都依赖同样的基础模块。French Ephemeris 全部提供。
任意日期和地点的行星、宫位、相位、月交点和莉莉丝,支持用户需要的宫位制。
46 种阿亚南萨下的恒星黄道位置,包括 Lahiri、Raman 和 Krishnamurti,可直接用于 kundli、大运和分盘。
微秒级计算两张星盘并进行比较,让用户浏览或搜索时实时匹配。
通过搜索找到精确相位、换座、停滞和回归,用于推送通知和时间线。
按用户所在地计算新月、满月、月相、日月食以及升落时间。
NumPy 批量 API 每秒计算数百万个位置,为每个星座每天生成内容。
用 Python 或 Rust 后端为 iOS 和 Android 应用提供计算,或将 Rust 内核与 2 MB 的移动版数据集(1800 至 2400 年)一起打包进应用,离线计算星盘。
French Ephemeris 是依据公开资料独立实现的。在 1800 至 2100 年的星盘上,它与 Swiss Ephemeris 2.10 的差异:太阳不超过 0.07″,月亮不超过 0.83″,8,400 个样本中没有任何星座或逆行状态的变化。
French Ephemeris 领先 9 项,Swiss Ephemeris 领先 3 项,持平 3 项。
| French Ephemeris | Swiss Ephemeris | |
|---|---|---|
| 行星数据 | JPL DE441 与 DE442 逐位一致,公元 0 至 1550 年与 JPL Horizons 相差不超过 0.0005″ | JPL 数据的压缩副本 |
| 速度,10 天体星盘 | 15 微秒 | 55 微秒 |
| 速度,单次调用 | 每秒 502,000 个位置 | 每秒 313,000 个位置 |
| 批量计算 | NumPy 下每秒 446 万个位置,不受 GIL 限制 | 每个天体、每个时刻调用一次 |
| 线程 | 设置按线程和 async 任务隔离 | 设置由整个进程共享 |
| 1800 至 2400 年的最小数据持平 | 2.03 MB(移动版数据集) | 2.12 MB |
| 宫位制持平 | 24 | 24 |
| 恒星 | 8,969 颗:所有肉眼可见的恒星(V ≤ 6.5),Hipparcos 2007 位置 | 约 1,200 个天体 |
| 阿亚南萨 | 46 种,另可自定义 | 47 种,另可自定义 |
| 语言 | Python、Rust 和 JavaScript(npm) | C,并有多种语言绑定 |
| 历史 | 2026 年首次公开发布 | 自 1997 年起的行业标准 |
| 授权 | AGPL-3.0,或每家公司一次性 200 美元 | AGPL,或 700 瑞士法郎的专业授权 |
速度在 Apple M4 上对比 pyswisseph 2.10.3.2 测得。每个数字的方法、样本量和复现命令见 引擎报告.
Swiss Ephemeris 是 Astrodienst AG 的产品。French Ephemeris 与 Astrodienst 无关联,也未获其认可。
免费
适用于开源项目、研究、教学,以及任何遵守 AGPL 的产品,包括公开你通过网络提供的修改版本的源代码。
USD 200 一次性,按公司计
适用于闭源应用、API 和 SaaS。不限产品、开发者和终端用户数量,包含所有未来版本。
通过 Stripe 安全支付。发票会发送到你的邮箱,授权证书将在两个工作日内送达。如有疑问或需银行转账: [email protected].
French Ephemeris 是一个高精度、高性能的开源星历与占星几何库,用 Rust 编写并提供 Python 绑定。它基于 NASA/JPL 星历(DE441/DE442)计算行星、月亮和小天体的位置,还提供宫位、阿亚南萨、月交点与莉莉丝、恒星、升落时间、日月食、掩星和偕日现象。
对大多数代码来说可以。frenchephemeris.swe_compat 模块复刻了 pyswisseph 风格的调用,例如 calc_ut、houses、set_sid_mode 和 fixstar2,通常只需修改 import。在 1800 至 2100 年的星盘上,它与 Swiss Ephemeris 2.10 的差异:太阳不超过 0.07″,月亮不超过 0.83″,8,400 个样本中没有任何星座或逆行状态的变化。它与 Swiss Ephemeris 或 Astrodienst 无关联。
它直接读取 JPL DE441 和 DE442 系数,因此公元 0 至 1550 年的物理位置与 JPL Horizons 相差 0.0005″ 以内,1550 年之后(内行星、太阳和月亮)相差 0.13″ 以内。它的日月食搜索能找到 NASA 五千年日月食典中公元 0 至 2400 年的全部日食和月食,没有多余事件,也没有类型错误。方法和样本量发布在 GitHub 的引擎报告中。
可以,在 GNU AGPL-3.0 下使用,前提是遵守其条件,包括公开你通过网络提供的修改版本的源代码。如果你希望产品保持闭源,商业授权为每家公司一次性 200 美元,涵盖所有未来版本和无限终端用户。
起步时不需要:安装包内置了公元 0 至 2400 年的精简数据集(行星与 JPL 相差不超过 0.007″,月亮不超过 0.4″)。运行 python -m frenchephemeris.packs download 可添加 1800 至 2401 年的 JPL 精确数值(约 69 MB,经 SHA-256 校验),或使用 --set full 获取公元前 3 年至公元 2581 年的数据(256 MB)。可选数据包可将范围扩展到公元前 13199 年至公元 17190 年,并添加 326 颗常用小行星。
是的。引擎不可变,没有可变的全局状态。恒星黄道模式、站心位置和 Delta T 设置按线程和 asyncio 任务隔离,并发请求不会改变彼此的结果。批量调用会释放 Python GIL,并在多个核心上运行。
Python 3.9 及以上,提供 Linux(x86_64 和 aarch64)、macOS(Intel 和 Apple Silicon)以及 Windows 的预编译 wheels。Rust crate fe-core 位于同一仓库,可直接在 Rust 中使用。
不需要。FreeAstroAPI 的所有计算已经运行在 French Ephemeris 上。想在自己的应用或服务器内计算位置时使用这个库;想通过 HTTP 获取现成的星盘、解读和报告时使用 API。