forked from amberwhitehead/ferrolearn
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
88 lines (85 loc) · 3.59 KB
/
Copy pathCargo.toml
File metadata and controls
88 lines (85 loc) · 3.59 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
77
78
79
80
81
82
83
84
85
86
87
88
[workspace]
members = [
"ferrolearn",
"ferrolearn-core",
"ferrolearn-linear",
"ferrolearn-tree",
"ferrolearn-neighbors",
"ferrolearn-bayes",
"ferrolearn-cluster",
"ferrolearn-decomp",
"ferrolearn-preprocess",
"ferrolearn-metrics",
"ferrolearn-model-sel",
"ferrolearn-sparse",
"ferrolearn-datasets",
"ferrolearn-io",
"ferrolearn-kernel",
"ferrolearn-numerical",
"ferrolearn-covariance",
"ferrolearn-neural",
"ferrolearn-fetch",
"ferrolearn-python",
"ferrolearn-bench",
"ferrolearn-test-oracle",
]
resolver = "3"
[workspace.package]
edition = "2024"
# Raised 1.85 -> 1.88 to consume ferray (the numpy substrate), whose
# workspace MSRV is 1.88. ferrolearn:ferray :: sklearn:numpy (issue #352).
rust-version = "1.88"
license = "MIT OR Apache-2.0"
repository = "https://github.com/dollspace-gay/ferrolearn"
[workspace.dependencies]
# ── The numpy substrate ──────────────────────────────────────────────
# ferray is ferrolearn's NumPy: sklearn is built on numpy, so ferrolearn
# (the sklearn translation) is built on ferray (the numpy translation).
# Per issue #352, each translation unit migrates its numpy-like deps
# (ndarray array type, statrs, rand_distr, ndarray-linalg/faer, sprs) onto
# the ferray analog (ferray-core array type, ferray::linalg, ferray::stats,
# ferray::random, ferray-ufunc) as part of that unit's ACToR iteration.
# `ferray-core` (array type) and `ferray-stats` are unconditional; linalg /
# random / numpy-bridge are feature-gated.
ferray = { version = "0.5.0", default-features = false, features = ["linalg", "random", "numpy", "openblas"] }
# Legacy numpy-like crates below are MIGRATION TARGETS, not the destination.
# They remain only until the per-unit loop has moved each consumer onto
# ferray; do not add NEW usages (acto-critic flags new numpy-like-crate
# usage as a wrong-substrate divergence). See goal.md R-SUBSTRATE.
ndarray = "0.17"
faer = "0.24"
sprs = "0.11"
rayon = "1.11"
serde = { version = "1.0", features = ["derive"] }
num-traits = "0.2"
thiserror = "2.0"
approx = "0.5"
float-cmp = "0.10"
rand = "0.9"
trybuild = "1.0"
serde_json = "1.0"
rmp-serde = "1.3"
rand_xoshiro = "0.7"
rand_distr = "0.5"
crc32fast = "1.4"
statrs = "0.18"
libm = "0.2"
# Internal crates
ferrolearn-core = { path = "ferrolearn-core", version = "0.5.0" }
ferrolearn-linear = { path = "ferrolearn-linear", version = "0.5.0" }
ferrolearn-tree = { path = "ferrolearn-tree", version = "0.5.0" }
ferrolearn-neighbors = { path = "ferrolearn-neighbors", version = "0.5.0" }
ferrolearn-bayes = { path = "ferrolearn-bayes", version = "0.5.0" }
ferrolearn-cluster = { path = "ferrolearn-cluster", version = "0.5.0" }
ferrolearn-decomp = { path = "ferrolearn-decomp", version = "0.5.0" }
ferrolearn-preprocess = { path = "ferrolearn-preprocess", version = "0.5.0" }
ferrolearn-metrics = { path = "ferrolearn-metrics", version = "0.5.0" }
ferrolearn-model-sel = { path = "ferrolearn-model-sel", version = "0.5.0" }
ferrolearn-sparse = { path = "ferrolearn-sparse", version = "0.5.0" }
ferrolearn-datasets = { path = "ferrolearn-datasets", version = "0.5.0" }
ferrolearn-io = { path = "ferrolearn-io", version = "0.5.0" }
ferrolearn-kernel = { path = "ferrolearn-kernel", version = "0.5.0" }
ferrolearn-numerical = { path = "ferrolearn-numerical", version = "0.5.0" }
ferrolearn-covariance = { path = "ferrolearn-covariance", version = "0.5.0" }
ferrolearn-neural = { path = "ferrolearn-neural", version = "0.5.0" }
ferrolearn-fetch = { path = "ferrolearn-fetch", version = "0.5.0" }