[package]
edition = "2021"
rust-version = "1.75"
name = "irithyll"
version = "10.0.0"
build = false
exclude = [
".claude/",
"irithyll-python/",
"irithyll-core/",
"irithyll-cli/",
"marketing/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Streaming ML in Rust -- gradient boosted trees, neural architectures (TTT/KAN/MoE/Mamba/SNN), AutoML, kernel methods, and composable pipelines"
documentation = "https://docs.rs/irithyll"
readme = "README.md"
keywords = [
"machine-learning",
"gradient-boosting",
"streaming",
"online-learning",
"automl",
]
categories = [
"algorithms",
"science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/evilrat420/irithyll"
[package.metadata.docs.rs]
features = ["full"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
arrow = ["dep:arrow"]
default = ["serde-json"]
distill = []
full = [
"serde-json",
"serde-bincode",
"kmeans-binning",
"parallel",
"arrow",
"parquet",
"onnx",
"neural-leaves",
"simd",
"simd-avx2",
]
kmeans-binning = ["irithyll-core/kmeans-binning"]
neural-leaves = []
onnx = ["dep:prost"]
parallel = [
"dep:rayon",
"irithyll-core/parallel",
]
parquet = [
"dep:parquet",
"arrow",
]
serde-bincode = [
"dep:bincode",
"irithyll-core/serde",
]
serde-json = [
"dep:serde_json",
"irithyll-core/serde",
]
simd = ["irithyll-core/simd"]
simd-avx2 = ["irithyll-core/simd-avx2"]
[lib]
name = "irithyll"
path = "src/lib.rs"
[[example]]
name = "async_ingestion"
path = "examples/02_essentials/async_ingestion.rs"
[[example]]
name = "automl"
path = "examples/04_advanced/automl.rs"
[[example]]
name = "basic_regression"
path = "examples/01_quickstart/basic_regression.rs"
[[example]]
name = "ccipca_reduction"
path = "examples/04_advanced/ccipca_reduction.rs"
[[example]]
name = "classification"
path = "examples/02_essentials/classification.rs"
[[example]]
name = "custom_loss"
path = "examples/04_advanced/custom_loss.rs"
[[example]]
name = "drift_detection"
path = "examples/02_essentials/drift_detection.rs"
[[example]]
name = "factory_racing"
path = "examples/04_advanced/factory_racing.rs"
[[example]]
name = "hello_streaming"
path = "examples/01_quickstart/hello_streaming.rs"
[[example]]
name = "kan_regression"
path = "examples/03_neural/kan_regression.rs"
[[example]]
name = "krls_nonlinear"
path = "examples/04_advanced/krls_nonlinear.rs"
[[example]]
name = "mamba3_temporal"
path = "examples/03_neural/mamba3_temporal.rs"
[[example]]
name = "model_checkpointing"
path = "examples/04_advanced/model_checkpointing.rs"
[[example]]
name = "neural_moe"
path = "examples/03_neural/neural_moe.rs"
[[example]]
name = "pipeline_composition"
path = "examples/02_essentials/pipeline_composition.rs"
[[example]]
name = "projected_learner"
path = "examples/04_advanced/projected_learner.rs"
[[example]]
name = "rls_confidence"
path = "examples/02_essentials/rls_confidence.rs"
[[example]]
name = "rwkv7_attention"
path = "examples/03_neural/rwkv7_attention.rs"
[[example]]
name = "slstm_regression"
path = "examples/03_neural/slstm_regression.rs"
[[example]]
name = "streaming_kan"
path = "examples/03_neural/streaming_kan.rs"
[[example]]
name = "streaming_metrics"
path = "examples/02_essentials/streaming_metrics.rs"
[[example]]
name = "streaming_ttt"
path = "examples/03_neural/streaming_ttt.rs"
[[test]]
name = "compliance_harness"
path = "tests/compliance_harness.rs"
[[test]]
name = "convergence"
path = "tests/convergence.rs"
[[test]]
name = "degradation"
path = "tests/degradation.rs"
[[test]]
name = "generate_bench_model"
path = "tests/generate_bench_model.rs"
[[test]]
name = "integration_drift"
path = "tests/integration_drift.rs"
[[test]]
name = "integration_sgbt"
path = "tests/integration_sgbt.rs"
[[test]]
name = "log_linear_attention"
path = "tests/log_linear_attention.rs"
[[test]]
name = "metamorphic_tests"
path = "tests/metamorphic_tests.rs"
[[test]]
name = "numerical_stability"
path = "tests/numerical_stability.rs"
[[test]]
name = "property_tests"
path = "tests/property_tests.rs"
[[test]]
name = "selective_ssm_v3"
path = "tests/selective_ssm_v3.rs"
[[bench]]
name = "comparison_bench"
path = "benches/comparison_bench.rs"
harness = false
[[bench]]
name = "delta_family_gauntlet"
path = "benches/delta_family_gauntlet.rs"
harness = false
[[bench]]
name = "ensemble_bench"
path = "benches/ensemble_bench.rs"
harness = false
[[bench]]
name = "histogram_bench"
path = "benches/histogram_bench.rs"
harness = false
[[bench]]
name = "log_linear_bench"
path = "benches/log_linear_bench.rs"
harness = false
[[bench]]
name = "moa_generators_bench"
path = "benches/moa_generators_bench.rs"
harness = false
[[bench]]
name = "packed_inference_bench"
path = "benches/packed_inference_bench.rs"
harness = false
[[bench]]
name = "parallel_bench"
path = "benches/parallel_bench.rs"
harness = false
[[bench]]
name = "pipeline_bench"
path = "benches/pipeline_bench.rs"
harness = false
[[bench]]
name = "quantized_bench"
path = "benches/quantized_bench.rs"
harness = false
[[bench]]
name = "real_dataset_bench"
path = "benches/real_dataset_bench.rs"
harness = false
[[bench]]
name = "real_world_bench"
path = "benches/real_world_bench.rs"
harness = false
[[bench]]
name = "scaling_bench"
path = "benches/scaling_bench.rs"
harness = false
[[bench]]
name = "throughput_bench"
path = "benches/throughput_bench.rs"
harness = false
[[bench]]
name = "training_bench"
path = "benches/training_bench.rs"
harness = false
[[bench]]
name = "tree_bench"
path = "benches/tree_bench.rs"
harness = false
[dependencies.arrow]
version = "54"
features = ["prettyprint"]
optional = true
default-features = false
[dependencies.bincode]
version = "2"
features = ["serde"]
optional = true
[dependencies.futures-core]
version = "0.3"
[dependencies.irithyll-core]
version = "1.0.0"
features = [
"std",
"serde",
]
[dependencies.parking_lot]
version = "0.12"
[dependencies.parquet]
version = "54"
features = ["arrow"]
optional = true
[dependencies.prost]
version = "0.13"
optional = true
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
"macros",
]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1.5"
[dev-dependencies.rand]
version = "0.8"
features = ["small_rng"]
[dev-dependencies.tokio]
version = "1"
features = ["full"]