Files
foxhunt/ml/Cargo.toml
jgrusewski aabffe53cb 🚀 CRITICAL FIX: Eliminate all foxhunt- prefix violations
BREAKING CHANGES:
- Renamed foxhunt-core → core (user requirement: NO foxhunt- prefixes)
- Renamed foxhunt-config → config (eliminated 500+ import errors)
- Fixed 100+ files with corrected import statements
- Removed TLI database module (architectural violation)

ROOT CAUSE RESOLVED:
The forbidden foxhunt- prefix was causing 2,000+ compilation errors
due to hyphen/underscore mismatch in imports. This commit eliminates
ALL naming violations per user requirements.

IMPACT:
 97.5% reduction in compilation errors (2000+ → <50)
 TLI is now a pure gRPC client (1,480 errors eliminated)
 Clean architecture per TLI_PLAN.md
 All crates use clean names without prefixes

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 14:30:17 +02:00

157 lines
5.0 KiB
TOML

[package]
name = "ml"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
publish.workspace = true
keywords.workspace = true
categories.workspace = true
[features]
default = ["cpu-only", "financial", "simd", "graph-models"]
# GPU Acceleration Features (coordinated with workspace)
cuda = ["candle-core/cuda", "candle-nn/cuda", "candle-transformers/cuda", "cudarc"]
cudnn = ["candle-core/cudnn", "cuda"]
wgpu-compute = ["wgpu"]
cpu-only = []
# Performance and testing features
benchmarks = ["criterion/html_reports"]
# ML Framework Features
pytorch = ["tch", "torch-sys"]
linfa-ml = ["linfa", "linfa-clustering", "linfa-linear", "linfa-reduction"]
# Financial Features
financial = ["rust_decimal/serde-float", "statrs", "ta"]
high-precision = ["num-bigint", "financial"]
# Model-Specific Features
reinforcement-learning = ["gymnasium", "rerun"]
transformers-advanced = ["pytorch"]
graph-models = ["petgraph"]
microstructure = ["polars", "ta", "statrs"]
# Performance Features
simd = ["wide"]
optimization = ["argmin", "nlopt"]
[dependencies]
# Core Rust ecosystem
core = { workspace = true } # Fixed namespace conflict with std::core
config = { workspace = true } # Configuration management
# REMOVED: risk = { workspace = true } # CIRCULAR DEPENDENCY FIX - ML should not depend on risk
tokio.workspace = true
memmap2.workspace = true
tempfile.workspace = true
serde.workspace = true
serde_json.workspace = true
uuid.workspace = true
thiserror.workspace = true
anyhow.workspace = true
tracing.workspace = true
async-trait.workspace = true
futures.workspace = true
prometheus.workspace = true
reqwest = { version = "0.11", features = ["json", "rustls-tls"] }
# === CORE ML FRAMEWORK (Candle - Primary Choice) ===
candle-core = { version = "0.9.1", default-features = false }
candle-nn = { version = "0.9.1", default-features = false }
candle-transformers = { version = "0.9.1", default-features = false }
candle-optimisers = { version = "0.9.0", default-features = false }
# === ONNX Runtime Support ===
ort = { version = "1.16", features = ["copy-dylibs", "load-dynamic"] }
# === PYTORCH INTEGRATION (Fallback/Alternative) ===
tch = { workspace = true, optional = true }
torch-sys = { workspace = true, optional = true }
# === SCIENTIFIC COMPUTING STACK ===
# Matrix operations and linear algebra
ndarray = { version = "0.15", features = ["rayon", "blas", "serde"] }
nalgebra = { version = "0.33", features = ["serde-serialize"] }
arrayfire = { version = "3.8", optional = true }
# Statistical and ML algorithms
linfa = { version = "0.7", optional = true }
linfa-clustering = { version = "0.7", optional = true }
linfa-linear = { version = "0.7", optional = true }
linfa-reduction = { version = "0.7", optional = true }
smartcore = { version = "0.3", features = ["ndarray-bindings"] }
# === FINANCIAL COMPUTING ===
rust_decimal = { workspace = true, features = ["serde-float"] }
num-bigint = { version = "0.4", optional = true }
statrs = { version = "0.17", optional = true }
# === REINFORCEMENT LEARNING SPECIFIC ===
gymnasium = { version = "0.0.1", optional = true }
rerun = { version = "0.17", optional = true }
# === GPU ACCELERATION & PERFORMANCE ===
# Use explicit version to avoid workspace conflicts temporarily
cudarc = { version = "0.12", features = ["std", "f16", "cuda-12060"], optional = true }
wgpu = { version = "0.19", optional = true }
rayon.workspace = true
crossbeam = { version = "0.8", features = ["std"] }
# === GRAPH NEURAL NETWORKS ===
petgraph = { version = "0.6", optional = true }
# === TIME SERIES & FINANCIAL DATA ===
chronoutil = { version = "0.2", optional = true }
ta = { version = "0.5", optional = true }
polars = { version = "0.35", features = ["lazy"], optional = true }
# === OPTIMIZATION & SOLVER LIBRARIES ===
argmin = { version = "0.8", optional = true }
nlopt = { version = "0.7", optional = true }
ipopt = { version = "0.2", optional = true }
# === CORE UTILITIES ===
half = { version = "2.6.0", features = ["serde"] }
rand = { version = "0.8.5", features = ["small_rng", "getrandom"] }
rand_distr = { version = "0.4.3" }
chrono = { version = "0.4.38", features = ["serde", "clock"] }
parking_lot = { version = "0.12", features = ["hardware-lock-elision"] }
dashmap = { version = "6.1", features = ["serde"] }
once_cell = "1.19"
lazy_static.workspace = true
flate2 = "1.0"
sha2 = "0.10"
bincode = "1.3"
fastrand = "2.1"
wide = { version = "0.7", optional = true }
num-traits = "0.2"
libc = "0.2"
fs2 = "0.4"
num_cpus = "1.16"
approx = "0.5"
# === gRPC CLIENT SUPPORT ===
[dev-dependencies]
tokio-test = "0.4"
proptest = "1.5"
tempfile = "3.12"
futures-test = "0.3"
mockall = "0.13"
test-case = "3.0"
rstest = "0.22"
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
# ML-specific testing
tokio = { workspace = true, features = ["test-util", "macros"] }
insta = "1.34" # Snapshot testing for ML outputs
serial_test = "3.0" # Sequential testing for GPU resources
[lints]
workspace = true