irithyll 9.8.3

Streaming machine learning in Rust -- gradient boosted trees, kernel methods, linear models, and composable pipelines
Documentation
[workspace]
members = [".", "irithyll-python", "irithyll-core", "irithyll-cli"]

[package]
name = "irithyll"
version = "9.8.3"
edition = "2021"
rust-version = "1.75"
description = "Streaming machine learning in Rust -- gradient boosted trees, kernel methods, linear models, and composable pipelines"
license = "MIT OR Apache-2.0"
repository = "https://github.com/evilrat420/irithyll"
readme = "README.md"
documentation = "https://docs.rs/irithyll"
keywords = ["machine-learning", "gradient-boosting", "streaming", "online-learning", "decision-trees"]
categories = ["algorithms", "science"]
exclude = [".claude/", "irithyll-python/", "irithyll-core/", "irithyll-cli/", "marketing/"]

[dependencies]
parking_lot = "0.12"
tokio = { version = "1", features = ["rt", "sync", "macros"] }
futures-core = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", optional = true }
bincode = { version = "2", features = ["serde"], optional = true }
thiserror = "2.0"
tracing = "0.1"
irithyll-core = { path = "irithyll-core", version = "0.9.0", features = ["std", "serde"] }

# Optional acceleration dependencies (activated via feature flags)
rayon = { version = "1.10", optional = true }

# Arrow/Parquet ecosystem
arrow = { version = "54", optional = true, default-features = false, features = ["prettyprint"] }
parquet = { version = "54", optional = true, features = ["arrow"] }

# ONNX export
prost = { version = "0.13", optional = true }

[dev-dependencies]
proptest = "1.5"
approx = "0.5"
criterion = { version = "0.5", features = ["html_reports"] }
tokio = { version = "1", features = ["full"] }

[features]
default = ["serde-json"]
serde-json = ["dep:serde_json", "irithyll-core/serde"]
serde-bincode = ["dep:bincode", "irithyll-core/serde"]
kmeans-binning = ["irithyll-core/kmeans-binning"]
simd = ["irithyll-core/simd"]
parallel = ["dep:rayon", "irithyll-core/parallel"]
arrow = ["dep:arrow"]
parquet = ["dep:parquet", "arrow"]
onnx = ["dep:prost"]
neural-leaves = []
full = ["serde-json", "serde-bincode", "kmeans-binning", "parallel", "arrow", "parquet", "onnx", "neural-leaves", "simd"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[[bench]]
name = "histogram_bench"
harness = false

[[bench]]
name = "tree_bench"
harness = false

[[bench]]
name = "ensemble_bench"
harness = false

[[bench]]
name = "parallel_bench"
harness = false

[[bench]]
name = "throughput_bench"
harness = false

[[bench]]
name = "scaling_bench"
harness = false

[[bench]]
name = "packed_inference_bench"
harness = false

[[bench]]
name = "training_bench"
harness = false

[[bench]]
name = "pipeline_bench"
harness = false

[[bench]]
name = "quantized_bench"
harness = false

[[bench]]
name = "comparison_bench"
harness = false

[[bench]]
name = "real_dataset_bench"
harness = false