-
Notifications
You must be signed in to change notification settings - Fork 758
/
Copy pathCargo.toml
126 lines (118 loc) · 3.41 KB
/
Cargo.toml
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[workspace]
resolver = "2"
members = [
"crates/adapters/*",
"crates/analysis",
"crates/backtest",
"crates/cli",
"crates/common",
"crates/core",
"crates/cryptography",
"crates/data",
"crates/execution",
"crates/indicators",
"crates/infrastructure",
"crates/model",
"crates/network",
"crates/persistence",
"crates/portfolio",
"crates/pyo3",
"crates/risk",
"crates/serialization",
"crates/test_kit",
"crates/trading",
]
[workspace.package]
rust-version = "1.84.1"
version = "0.42.0"
edition = "2021"
authors = ["Nautech Systems <[email protected]>"]
description = "A high-performance algorithmic trading platform and event-driven backtester"
documentation = "https://nautilustrader.io/docs"
[workspace.dependencies]
anyhow = "1.0.95"
arrow = "54.2.0" # Keep major version in line with datafusion
async-stream = "0.3.6"
async-trait = "0.1.86"
base64 = "0.22.1"
bytes = { version = "1.10.0", features = ["serde"] }
chrono = { version = "0.4.39", features = ["serde"] }
chrono-tz = { version = "0.10.1" }
derive_builder = "0.20.2"
futures = "0.3.31"
futures-util = "0.3.31"
heck = "0.5.0"
hex = "0.4.3"
indexmap = { version = "2.7.1", features = ["serde"] }
itertools = "0.13.0"
itoa = "1.0.14"
once_cell = "1.20.3"
log = { version = "0.4.25", features = ["std", "kv_unstable", "serde", "release_max_level_debug"] }
parquet = "54.2.0" # Keep major version in line with datafusion
pyo3 = { version = "0.23.4", features = ["chrono", "indexmap", "rust_decimal", "smallvec"] }
pyo3-async-runtimes = { version = "0.23.0", features = ["tokio-runtime", "tokio", "attributes"] }
rand = "0.9.0"
reqwest = { version = "0.12.12", features = ["blocking"] }
ring = "0.17.9"
rmp-serde = "1.3.0"
rust_decimal = "1.36.0"
rust_decimal_macros = "1.36.0"
semver = "1.0.25"
serde = { version = "1.0.217", features = ["derive"] }
serde_json = "1.0.138"
strum = { version = "0.26.3", features = ["derive"] }
thiserror = "2.0.11"
thousands = "0.2.0"
toml = "0.8.20"
tracing = "0.1.41"
# Disable default feature "tracing-log" since it interferes with custom logging
tracing-subscriber = { version = "0.3.19", default-features = false, features = ["smallvec", "fmt", "ansi", "std", "env-filter"] }
tokio = { version = "1.43.0", features = ["full"] }
tokio-tungstenite = { version = "0.26.2", features = ["rustls-tls-native-roots"] }
ustr = { version = "1.1.0", features = ["serde"] }
uuid = { version = "1.13.2", features = ["v4", "serde"] }
# dev-dependencies
axum = "0.8.1"
criterion = "0.5.1"
float-cmp = "0.10.0"
iai = "0.1.1"
proptest = "1.6.0"
rstest = "0.24.0"
tempfile = "3.17.1"
tracing-test = "0.2.5"
# build-dependencies
cbindgen = "0.28.0"
[profile.dev]
opt-level = 0
debug = false # Improves compile times
debug-assertions = false # Fails Cython build if true
overflow-checks = true
strip = "debuginfo" # Improves compile times
lto = false
panic = "unwind"
incremental = true
codegen-units = 256
[profile.test]
opt-level = 0
debug = false # Improves compile times
debug-assertions = true # Fails Cython build if true
overflow-checks = true
strip = "debuginfo" # Improves compile times
lto = false
incremental = true
codegen-units = 256
[profile.release]
opt-level = 3
debug = false
debug-assertions = false
overflow-checks = false
lto = true
strip = true
panic = "abort"
incremental = false
codegen-units = 1
[profile.release-debugging]
inherits = "release"
incremental = true
debug = true
strip = false