-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
77 lines (68 loc) · 1.52 KB
/
Copy pathCargo.toml
File metadata and controls
77 lines (68 loc) · 1.52 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[package]
name = "pyroid"
version = "0.7.0"
edition = "2021"
authors = ["Andrew O", "Pyroid Team"]
description = "High-performance Rust functions for Python"
readme = "README.md"
license = "MIT"
repository = "https://github.com/ao/pyroid"
[lib]
name = "pyroid"
crate-type = ["cdylib"]
# Feature flags for optional functionality
[features]
default = ["math", "text", "data", "io", "image", "ml"]
math = []
text = ["dep:regex"]
data = []
io = ["dep:tokio", "dep:futures"]
image = []
ml = []
[dependencies]
# Core dependencies
pyo3 = { version = "0.20.0", features = [
"extension-module",
"auto-initialize",
"abi3-py38",
"abi3",
"multiple-pymethods"
] }
rayon = "1.10.0"
serde_json = "1.0.114"
num_cpus = "1.16.0"
once_cell = "1.19.0"
pyo3-asyncio = { version = "0.20", features = ["tokio-runtime"] }
reqwest = { version = "0.11", features = ["json", "stream", "rustls-tls"] }
# Optional dependencies based on features
tokio = { version = "1.44.1", features = [
"rt",
"rt-multi-thread",
"macros",
"io-util",
"fs",
"time",
"sync",
"net",
], optional = true }
futures = { version = "0.3.31", optional = true }
regex = { version = "1.10.3", optional = true }
[build-dependencies]
pyo3-build-config = "0.20.0"
num_cpus = "1.16.0"
[dev-dependencies]
criterion = "0.5.1"
rand = "0.8.5"
base64 = "0.21.7"
regex = "1.10.3"
# Optimize for size in release mode
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true
# Enable better error messages in debug mode
[profile.dev]
opt-level = 0
debug = true