Metadata-Version: 2.5
Name: axile
Version: 0.2.4
Summary: 通过 Web UI 配置和运行的多渠道交易执行服务
Requires-Python: >=3.12
Requires-Dist: aiohttp>=3.10.11
Requires-Dist: aiosqlite>=0.21.0
Requires-Dist: alembic>=1.15.2
Requires-Dist: apscheduler>=3.11.0
Requires-Dist: croniter>=5.0.0
Requires-Dist: fastapi[standard]>=0.115.12
Requires-Dist: greenlet>=3.3.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: numpy==2.3.2
Requires-Dist: pandas>=2.2.3
Requires-Dist: polars>=1.37.1
Requires-Dist: pydantic-settings>=2.8.1
Requires-Dist: python-dotenv>=1.1.0
Requires-Dist: shinny-calendar<2,>=1.0.2026
Requires-Dist: sqlalchemy>=2.0.46
Requires-Dist: sqlmodel>=0.0.24
Requires-Dist: streamlit>=1.41.0
Requires-Dist: tomlkit>=0.15.0
Requires-Dist: typer>=0.20.1
Provides-Extra: all
Requires-Dist: gm>=3.0.183; (sys_platform != 'darwin') and extra == 'all'
Requires-Dist: openctp-ctp==6.7.7.*; extra == 'all'
Requires-Dist: tqsdk<3.11,>=3.10.2; extra == 'all'
Provides-Extra: ctp
Requires-Dist: openctp-ctp==6.7.7.*; extra == 'ctp'
Provides-Extra: gm
Requires-Dist: gm>=3.0.183; (sys_platform != 'darwin') and extra == 'gm'
Provides-Extra: tqsdk
Requires-Dist: tqsdk<3.11,>=3.10.2; extra == 'tqsdk'
Description-Content-Type: text/markdown

# Axile

Axile 是一个通过 Web UI 配置和运行的多渠道交易执行服务。

## 使用

需要 Python 3.12+、[uv](https://docs.astral.sh/uv/) 和 [Bun](https://bun.sh/)。

```bash
uv sync

cd ui
bun install
bun run build
cd ..

uv run axile
```

启动后访问 <http://127.0.0.1:8000>。

使用 CTP、GM 或天勤渠道时，分别在同步依赖时添加 `--extra ctp`、`--extra gm` 或 `--extra tqsdk`。GM SDK 仅支持 Windows x86_64 和 Linux x86_64；macOS 会自动跳过该依赖，因此无法使用 GM 渠道。

Shinny 交易日历已随默认安装提供，固定按自然日 `00:00` 物化 `china` 与 `ashare`，作为国内期货和 A 股共用的基础开闭市判断。内置节假日数据截至 `2026-12-31`，之后不会生成记录；需要交易所级调整时，请使用 CSV 或自定义函数覆盖。

天勤渠道支持实盘、快期模拟和本地模拟三种账户模式。组合中的国内衍生品代码沿用 CTP
`InstrumentID`（如 `rb2610`）；Axile 会在 TqSdk 执行器边界转换为 `SHFE.rb2610`。
本地模拟状态随日盘、夜盘前的常驻 Worker 重建而重置，需要持久模拟状态时使用快期模拟。
