1.0.0-rc.5 (Release Candidate)
Pre-release
Pre-release
1.0.0 候选预发布版本(Release Candidate)。
缠论核心算法(分型、笔、中枢、信号体系)从 Python 迁移到 Rust,通过 PyO3 扩展 czsc._native 暴露给 Python 用户;Rust 用户可直接 cargo add czsc(或子 crate)使用。本版本含大量 breaking changes,从 0.9.X / 0.10.X 升级请阅读 CHANGELOG 的「迁移指引」。
安装
# Python(PyPI 主页默认隐藏 prerelease,要加 --pre 或显式版本号)
pip install --pre czsc
# 或精确版本:
pip install czsc==1.0.0rc5
# Rust
cargo add czsc@1.0.0-rc.5发布产物
| Registry | 内容 |
|---|---|
| PyPI czsc 1.0.0rc5 | 6 平台 abi3 wheel:macOS x86_64/arm64、Linux x86_64/aarch64 manylinux2014、Linux x86_64 musllinux_1_2、Windows x64 |
| crates.io | 8 个 crate 1.0.0-rc.5:czsc / czsc-core / czsc-trader / czsc-signals / czsc-ta / czsc-utils / czsc-derive / czsc-signal-macros |
主要变更
完整 release notes(含 breaking changes、迁移指引、所有 PR-A 至 PR-G 的细节)见 CHANGELOG.md。
- Python 端缠论核心整体下沉 Rust:
CZSC / FX / BI / ZS / RawBar / BarGenerator / CzscTrader / CzscSignals / Event / Position / Signal等全部由 Rust 实现,通过czsc._native暴露。Python 回退路径(CZSC_USE_PYTHONenv)已退役。 - 220+ 信号函数全部由 Rust 实现(13+ 子模块),通过
czsc._native.signals.*与czsc.traders.generate_czsc_signals调用;不再使用V<yyMMdd>版本后缀,改用#[signal]宏自动注册到SIGNAL_REGISTRY。 - 删除
czsc.svcStreamlit 组件子包、czsc.utils.ta/czsc.utils.echarts_plot/czsc.utils.pdf_report等 60+ 个非缠论核心 API(详见 CHANGELOG);可视化全面收敛到 plotly + lightweight-charts HTML。 - 删除 streamlit / scikit-learn / cryptography / TA-Lib (C) 等运行时依赖。
- 最低 Python 版本提升到 3.10,wheel 改用 abi3(一个 wheel 覆盖 Python 3.10 / 3.11 / 3.12 / 3.13)。
- Rust workspace 同步发布到 crates.io:单一版本源
Cargo.toml [workspace.package].version,pyproject.toml 走dynamic = ["version"]由 maturin 注入。
已知 issues(不阻塞使用)
- PyPI sdist 缺失:本 RC 因
pyproject.toml未声明 PEP 639license-files字段,sdist 上传被 PyPI 校验拒绝(400 License-File LICENSE does not exist);wheel 已全部上传,pip install不受影响。修复已 commit 到 master(2f2fc5f),final 1.0.0 会带 sdist。 - GitHub Release sigstore 签名缺失:因 publish-to-pypi job 标 failure(sdist 引起),release-and-sign workflow 被 skip;本 release 由手动
gh release create创建,不含 sigstore bundle。final 1.0.0 会自动签名。
RC 之路(5 轮迭代修了 6 个 CI bug)
| Tag | 失败原因 | 修复 |
|---|---|---|
| v1.0.0-rc.1 | awk gsub /.../, "\1" backreference gawk 不支持 |
awk -F'"' '{print $2}' |
| v1.0.0-rc.2 | strategy.rs test 仍调 load_position (PR-G 删 import 漏看) + build.rs 强检 PATH python3=3.9 + ring 0.17.x aarch64 ASM __ARM_ARCH |
use 恢复 + PYO3_CONFIG_FILE 跳检 + CFLAGS_aarch64_unknown_linux_gnu |
| v1.0.0-rc.3 | macos-13 Intel runner pool 排队 1h+ 卡死 publish | macOS wheel 改 macos-latest + cross-compile |
| v1.0.0-rc.4 | wheel verify SemVer 1.0.0-rc.4 vs PEP 440 1.0.0rc4 直接字符串比对 |
sed normalize -rc.N → rcN |
| v1.0.0-rc.5 | ✅ 成功发布 | — |
后续
- final 1.0.0:等社区试用 rc.5 反馈,bump
Cargo.toml [workspace.package].version后 push tagv1.0.0真发。下一轮 release 流水线已端到端验证可用。 - 报 bug:https://github.com/waditu/czsc/issues