快速开始
Python
pip 安装,dataclass 类型化 API,用枚举做与语言无关的判断。
适合:开发者
安装
pip install x-iztro要求 Python 3.10 及以上。包内是 PyO3 编译的原生扩展(abi3), 安装后零运行期依赖 —— 不需要 pydantic,也不需要本机的 Rust 工具链。
从源码构建
只有在改动 Rust 侧代码时才需要:
pip install maturin
PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 maturin develop --features python排盘
from x_iztro import Astro
astro = Astro()
chart = astro.by_solar("2000-8-16", 2, "female")
print(chart.solar_date) # 阳历
print(chart.lunar_date) # 农历
print(chart.chinese_date) # 四柱干支
print(chart.time, chart.time_range)
print(chart.sign, chart.zodiac) # 星座、生肖
print(chart.soul, chart.body) # 命主、身主
print(chart.five_elements_class) # 五行局2000-8-16
二〇〇〇年七月十七
庚辰 甲申 丙午 庚寅
寅时 03:00~05:00
狮子座 龙
破军 文昌
木三局solar_date 原样回显入参字符串,不补零 —— 传 "2000-08-16" 就回 "2000-08-16"。
要结构化的日期用 chart.raw_dates。
农历排盘用 by_lunar,比 by_solar 多一个 is_leap_month。gender 之后的参数
(is_leap_month、fix_leap、language、config)只能按关键字传入——两个布尔相邻,
位置传参写反了不报错:
chart = astro.by_lunar("2000-7-17", 2, "female", is_leap_month=False)返回的 Astrolabe 是 dataclass,字段有类型标注,IDE 能自动补全。
所有文本字段已按盘面语言翻译好。
接下来
上面的例子只用到了排盘入口。完整的 API——十二宫定位、星耀判断、飞星、 运限、安星模块、数据表、翻译——在 Python API 参考 一栏, 每个函数、类与方法都有独立条目,附真实运行输出与边界说明。