Skip to main content

qimen-rs Python 绑定

中文首页 · English · 扩展规则

Python 3.10+;使用 PyO3 和 maturin,计算期间释放 GIL。calculate 返回 Python 字典, calculate_json 提供与 Rust 完全一致的 JSON 接口。CPython 常规 GIL 构建使用 abi3 wheel。

安装

python -m pip install qimen-rs

扩展到公元 1–9999 年的时间范围要求 0.2.0+;安装命令获取当前正式版。平台要求见安装指南

快速开始

from qimen_rs import calculate

chart = calculate({
    "year": 2024,
    "month": 2,
    "day": 10,
    "hour": 12,
    "utc_offset_minutes": 480,
    "day_boundary": "zi_start",
})
print(chart["palaces"])

输入是指定 UTC 偏移下的民用时间;不会读取机器时区。默认 UTC+08:00,23:00 换日。 midnight 可显式选择 00:00 换日。无效日期、未知参数等由核心统一拒绝为 ValueError; 非字典输入或不能编码为 JSON 的 Python 对象抛出 TypeError。返回字段见结果 Schema,时间与历法口径见使用指南

可选扩展

可选标注默认关闭,通过 extensions 参数选择明确的计算规则:

from qimen_rs import ExtensionOptions, calculate

options: ExtensionOptions = {
    "hidden_stems": "duty_door_hour_stem_with_center_fallback",
    "strength": "classical_stars_and_five_elements",
    "growth_stages": "yang_forward_yin_reverse_fire_earth",
    "punishments": "six_instrument_branches",
    "tombs": "growth_stage_fire_earth",
    "day_horse": "day_branch_three_harmony",
    "door_pressure": "door_controls_palace",
}
chart = calculate({"year": 2026, "month": 9, "day": 18, "hour": 18}, extensions=options)
print(chart["extensions"]["day_horse"]["horse"])

只填写需要的项目即可;也可将 extensions 放入请求字典,与 JSON 接口完全一致。 同时使用两种位置会报 ValueError,避免静默覆盖。空配置不生成 extensions 输出字段。 每项结果记录实际 rule,寄干保留来源和盘层,日马与基础盘的时马分别返回。 tombs 也可选择 traditional_three_wonders;该规则只判断三奇,不适用的六仪结果为 None,与“未入墓”的 False 有区别。两种入墓约定不能混用。 公共类型在 qimen_rs.types 中;JSON Schema 与软件包版本分别编号。 完整规则与适用范围见 扩展约定

从源码安装

在所需版本的仓库根目录执行,需 Rust 1.94+:

python -m venv .venv

激活虚拟环境,Linux / macOS 使用 source .venv/bin/activate,Windows PowerShell 使用 .venv/Scripts/Activate.ps1,然后运行:

python -m pip install ./bindings/python

安装后仍使用相同的 from qimen_rs import calculate 接口。0.2.0+ 支持公元 1–9999 年的前推格里高利历;历史日期与边界输出见时间说明

Release files for qimen-rs 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qimen-rs 0.2.0
File Size Uploaded
qimen_rs-0.2.0.tar.gz 69.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for qimen-rs 0.2.0
File
qimen_rs-0.2.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
qimen_rs-0.2.0-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
qimen_rs-0.2.0-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
qimen_rs-0.2.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
qimen_rs-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 1.7 MB

Release files / qimen_rs-0.2.0.tar.gz

Download URL qimen_rs-0.2.0.tar.gz
Size 69.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6a69babb23ea29f5b4e9ef2ba698a63ed5a5d422b5e317cbc2e0ce96ad0ffb33
BLAKE2b-256 checksum
How to use checksums
987a38c6f359ec981c268e9d8736627577ce6e85c8ec83c7a6abbb89be984ee8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / qimen_rs-0.2.0-cp310-abi3-win_amd64.whl

Download URL qimen_rs-0.2.0-cp310-abi3-win_amd64.whl
Size 248.5 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e3576a793a182416750c79f5a529006d3602113eeade83a8af368c35ee75e2fb
BLAKE2b-256 checksum
How to use checksums
811e6018ebc49cffe3ee1e9a0b2b2ae7aa27cf4d47d53cb720ed7eae5c6b9026
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / qimen_rs-0.2.0-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL qimen_rs-0.2.0-cp310-abi3-manylinux_2_28_x86_64.whl
Size 374.5 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
d396194fdb6b87a8cc45122a23428ee06fa1b170d466529209976fd279b66895
BLAKE2b-256 checksum
How to use checksums
fedaccefedb35fa323ff1dfeefda009593c1b6100a2cb5c2af14fd1d031d38f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / qimen_rs-0.2.0-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL qimen_rs-0.2.0-cp310-abi3-manylinux_2_28_aarch64.whl
Size 368.0 kB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
07030bc42ddef389080f93a24690dd82034eda88ffcef36da1b62e6b88009662
BLAKE2b-256 checksum
How to use checksums
dc5e745269f22d0466dcd20d5767e7d4c24470e087c588efb65370da63a7f0ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / qimen_rs-0.2.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL qimen_rs-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Size 339.9 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
78b86fc6a63cd07d8a1ce8df62f8fcd17b9b3d27849d711f51546931a86c3be8
BLAKE2b-256 checksum
How to use checksums
e4c8c9dcadfa119b372db97f7c0ca9674fd209575cb00e3d9f797ae0558359fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / qimen_rs-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL qimen_rs-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 346.8 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b7da4e85aa23305c6c97aff8913af65dfedc178df5acfd3977b1719e3cee9233
BLAKE2b-256 checksum
How to use checksums
ad635b8623c02d957714446698faeb0765b1eadd4c0d9963629f31187c703c7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.2.0 This release

6 release files

0.1.0

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page