Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
59 lines (55 loc) · 2.87 KB
/
Copy pathCargo.toml
File metadata and controls
59 lines (55 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[workspace]
resolver = "2"
members = ["crates/*"]
[workspace.package]
version = "1.0.0-rc.8"
edition = "2024"
license = "MIT"
repository = "https://github.com/waditu/czsc"
homepage = "https://github.com/waditu/czsc"
documentation = "https://docs.rs/czsc-core"
authors = ["zengbin93 <zeng_bin8888@163.com>"]
# crates.io 限制 keywords ≤ 5、每个 ≤ 20 chars,且只能字母数字-_,所以
# 中文「缠论/技术分析」等只能放 description,关键词留 ASCII。
keywords = ["czsc", "quant", "technical-analysis", "trading", "finance"]
# crates.io 上类目从 https://crates.io/category_slugs 选取,最多 5 个。
categories = ["finance", "mathematics", "science"]
[workspace.dependencies]
# 第三方依赖
# 注:polars 暂停在 0.52.0——polars-arrow 0.53.x 给 chrono 加了 `<=0.4.41`
# 的死锁约束,会与 pyo3-stub-gen 0.21+ 要求的 chrono `^0.4.44` 冲突,
# 等 polars 上游放宽后再升 0.53.x。
chrono = { version = "0.4", features = ["serde"] }
hashbrown = "0.17"
ordered-float = "5.3"
polars = { version = "0.52.0", features = [
"lazy", "serde", "strings", "concat_str", "pivot", "is_in",
"cum_agg", "abs", "ipc", "round_series", "dtype-datetime",
"temporal", "parquet", "timezones", "fmt", "partition_by",
] }
# Workspace-wide pyo3: declared without features so business crates'
# unit tests can link against a real libpython resolved through
# PYO3_PYTHON. The cdylib producer (`czsc-python`) layers on
# `abi3-py310` + `extension-module` so the published wheel uses the
# abi3 stable API and dynamically loads at Python startup time.
pyo3 = { version = "0.28" }
numpy = "0.28"
rayon = "1"
serde = { version = "1", features = ["derive", "rc"] }
# 工作区内部 crate —— path + version 双声明:
# - path:本地/CI 走相对路径,`cargo build --workspace` 直接拉源码
# - version:`cargo publish` 时按 version 解析 crates.io 上的依赖
# 业务 crate 用 `{ workspace = true }` 引用,避免在每个 Cargo.toml
# 重复维护版本号;workspace.package.version 升级一次,全部跟随。
czsc = { path = "crates/czsc", version = "1.0.0-rc.8" }
czsc-core = { path = "crates/czsc-core", version = "1.0.0-rc.8" }
czsc-utils = { path = "crates/czsc-utils", version = "1.0.0-rc.8" }
czsc-ta = { path = "crates/czsc-ta", version = "1.0.0-rc.8" }
czsc-signals = { path = "crates/czsc-signals", version = "1.0.0-rc.8" }
czsc-trader = { path = "crates/czsc-trader", version = "1.0.0-rc.8" }
czsc-signal-macros = { path = "crates/czsc-signal-macros", version = "1.0.0-rc.8" }
czsc-derive = { path = "crates/czsc-derive", version = "1.0.0-rc.8" }
[profile.release]
lto = true
opt-level = 3
codegen-units = 1