Metadata-Version: 2.4
Name: fly-ruler
Version: 0.1.0
Requires-Dist: casadi>=3.8.1
Requires-Dist: filelock>=4.0.8
Requires-Dist: jinja2>=3.1.6
Requires-Dist: numpy>=2.5.3
Requires-Dist: polars>=1.44.2
Requires-Dist: pydantic>=2.13.5
Requires-Dist: pybind11>=3.1.0
Requires-Dist: rich>=15.0.0
Requires-Dist: scipy>=1.18.1
Requires-Dist: typer>=0.27.2
Requires-Dist: jax>=0.11.2 ; extra == 'all'
Requires-Dist: jax>=0.11.2 ; extra == 'jax'
Requires-Dist: jax[cuda12]>=0.11.2 ; extra == 'jax-cuda12'
Requires-Dist: jax[cuda13]>=0.11.2 ; extra == 'jax-cuda13'
Provides-Extra: all
Provides-Extra: jax
Provides-Extra: jax-cuda12
Provides-Extra: jax-cuda13
License-File: LICENSE
Summary: FlyRuler aircraft modeling and simulation core and standard library
Author: windlx
License-Expression: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Issues, https://github.com/WindLX/FlyRuler/issues
Project-URL: Source, https://github.com/WindLX/FlyRuler

# fly-ruler

飞行器建模、编译、仿真与分析的 Python 包，包含 `fly_ruler_core`、`fly_ruler_std` 和原生 Rust 扩展。保留类型声明、`py.typed` 与代码生成模板。

Graph 与 Plot 是同版本的独立二进制工具，通过 GitHub Release 的安装脚本安装；Python wheel 不包含它们。使用与维护说明见主仓文档：[core](../../docs/guide/components/core.md)、[std](../../docs/guide/components/std.md)、[Graph](../../docs/guide/components/graph.md)与[Plot](../../docs/guide/components/plot.md)。

示例是主要教学入口：先看 [`examples/mainline/hybrid_system.py`](examples/mainline/hybrid_system.py) 的十步闭环，再按主题读 [`examples/core/`](examples/core/) 与 [`examples/std/`](examples/std/)。每个脚本都在模块 docstring 与行内注释里写清运行方式、参数含义和预期结果；目录总览见 [`examples/README.md`](examples/README.md)，`just test-examples` 会把它们按目录跑一遍。

源码开发运行 `just setup-dev`，随后 `just check`、`just test`；`just build` 直接用 Maturin 构建本机 wheel。Linux 发行由版本 tag 流水线在 manylinux 2.28 中构建；Graph/Plot 在各自目录执行 `just build`。

版本号只由 `just set-version X.Y.Z` 统一写入 Python 包、Rust crate、两个锁文件、Graph/Plot 前端配置与两个 README 的安装示例；`just version` 只读盘点这些来源，`just check` 会校验它们一致。发布步骤见主仓 [`RELEASING.md`](../../RELEASING.md)。

