快速开始

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_monthgender 之后的参数 (is_leap_monthfix_leaplanguageconfig)只能按关键字传入——两个布尔相邻, 位置传参写反了不报错:

chart = astro.by_lunar("2000-7-17", 2, "female", is_leap_month=False)

返回的 Astrolabe 是 dataclass,字段有类型标注,IDE 能自动补全。 所有文本字段已按盘面语言翻译好。

接下来

上面的例子只用到了排盘入口。完整的 API——十二宫定位、星耀判断、飞星、 运限、安星模块、数据表、翻译——在 Python API 参考 一栏, 每个函数、类与方法都有独立条目,附真实运行输出与边界说明。

本页目录