millwright 0.1.1

A unified ML framework for Rust — proven Rust crates, assembled into one machine.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.95"
name = "millwright"
version = "0.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A unified ML framework for Rust — proven Rust crates, assembled into one machine."
homepage = "https://millwright-rs.dev/"
readme = "README.md"
keywords = [
    "machine-learning",
    "ml",
    "pipeline",
    "sklearn",
    "smartcore",
]
categories = [
    "science",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/mi7plus/millwright"

[package.metadata.docs.rs]
features = ["full"]

[features]
anomaly = []
automl = [
    "model-selection",
    "ensemble",
    "smartcore-backend",
]
calibration = []
default = [
    "smartcore-backend",
    "preprocessing",
    "model-selection",
    "ensemble",
]
diagnostics = [
    "dep:regression-diagnostics",
    "dep:ndarray",
]
eda = ["dep:polars"]
ensemble = []
explain = ["dep:shap-rs"]
full = [
    "smartcore-backend",
    "preprocessing",
    "model-selection",
    "ensemble",
    "eda",
    "linfa-backend",
    "hpo",
    "diagnostics",
    "explain",
    "calibration",
    "anomaly",
    "viz",
    "onnx",
    "registry",
    "monitor",
    "serve",
    "timeseries",
    "incremental",
    "automl",
]
hpo = [
    "dep:hyperopt-rs",
    "model-selection",
]
incremental = [
    "dep:incremental-rs",
    "dep:ndarray015",
]
linfa-backend = [
    "dep:linfa",
    "dep:linfa-clustering",
    "dep:linfa-reduction",
    "dep:linfa-nn",
    "dep:ndarray",
]
model-selection = [
    "dep:model-selection-rs",
    "dep:ndarray",
]
monitor = ["dep:driftwatch"]
onnx = [
    "dep:onnx-export-rs",
    "onnx-export-rs/smartcore-compat",
    "dep:tract-onnx",
    "dep:ndarray",
    "smartcore-backend",
    "smartcore/serde",
]
preprocessing = [
    "dep:imbalance-rs",
    "dep:ndarray",
]
python = [
    "dep:pyo3",
    "smartcore-backend",
]
registry = [
    "dep:serde",
    "dep:serde_json",
    "onnx",
]
serve = [
    "dep:axum",
    "dep:tokio",
    "dep:serde",
    "dep:serde_json",
    "onnx",
]
smartcore-backend = ["dep:smartcore"]
timeseries = [
    "dep:chronos-ts",
    "dep:ndarray015",
]
viz = [
    "dep:plotters-statistical",
    "dep:plotters",
]

[lib]
name = "millwright"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[example]]
name = "automl"
path = "examples/automl.rs"
required-features = [
    "smartcore-backend",
    "automl",
    "onnx",
]

[[example]]
name = "backends"
path = "examples/backends.rs"
required-features = [
    "smartcore-backend",
    "linfa-backend",
    "hpo",
]

[[example]]
name = "explore"
path = "examples/explore.rs"
required-features = [
    "eda",
    "smartcore-backend",
]

[[example]]
name = "insight"
path = "examples/insight.rs"
required-features = [
    "smartcore-backend",
    "diagnostics",
    "explain",
    "viz",
]

[[example]]
name = "operations"
path = "examples/operations.rs"
required-features = [
    "smartcore-backend",
    "onnx",
    "registry",
    "monitor",
    "serve",
]

[[example]]
name = "portability"
path = "examples/portability.rs"
required-features = [
    "smartcore-backend",
    "onnx",
]

[[example]]
name = "specialized"
path = "examples/specialized.rs"
required-features = [
    "timeseries",
    "incremental",
]

[[example]]
name = "spine"
path = "examples/spine.rs"
required-features = ["smartcore-backend"]

[[example]]
name = "trust"
path = "examples/trust.rs"
required-features = [
    "calibration",
    "anomaly",
]

[[example]]
name = "workflow"
path = "examples/workflow.rs"
required-features = [
    "smartcore-backend",
    "preprocessing",
    "model-selection",
    "ensemble",
]

[[test]]
name = "golden"
path = "tests/golden.rs"

[[test]]
name = "real_data"
path = "tests/real_data.rs"

[[bench]]
name = "throughput"
path = "benches/throughput.rs"
harness = false
required-features = ["smartcore-backend"]

[dependencies.axum]
version = "0.8"
optional = true

[dependencies.chronos-ts]
version = "=0.1.0"
optional = true

[dependencies.driftwatch]
version = "=0.1.0"
optional = true

[dependencies.hyperopt-rs]
version = "=0.1.1"
optional = true

[dependencies.imbalance-rs]
version = "=0.5.0"
optional = true

[dependencies.incremental-rs]
version = "=0.1.2"
optional = true

[dependencies.linfa]
version = "=0.8.1"
optional = true

[dependencies.linfa-clustering]
version = "=0.8.1"
optional = true

[dependencies.linfa-nn]
version = "=0.8.1"
optional = true

[dependencies.linfa-reduction]
version = "=0.8.1"
optional = true

[dependencies.model-selection-rs]
version = "=0.1.0"
features = ["smartcore-metrics"]
optional = true

[dependencies.ndarray]
version = "0.16"
optional = true

[dependencies.ndarray015]
version = "0.15"
optional = true
package = "ndarray"

[dependencies.onnx-export-rs]
version = "=0.1.1"
features = ["smartcore-compat"]
optional = true

[dependencies.plotters]
version = "0.3.7"
features = [
    "svg_backend",
    "all_series",
]
optional = true
default-features = false

[dependencies.plotters-statistical]
version = "=0.2.0"
optional = true

[dependencies.polars]
version = "=0.55.2"
features = [
    "csv",
    "parquet",
    "dtype-categorical",
    "dtype-datetime",
    "temporal",
    "is_in",
]
optional = true
default-features = false

[dependencies.pyo3]
version = "0.24"
features = [
    "extension-module",
    "abi3-py39",
]
optional = true

[dependencies.regression-diagnostics]
version = "=0.2.0"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.shap-rs]
version = "=0.1.0"
optional = true

[dependencies.smartcore]
version = "=0.6.10"
optional = true

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
    "net",
]
optional = true

[dependencies.tract-onnx]
version = "0.23"
optional = true

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.http-body-util]
version = "0.1"

[dev-dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
]

[dev-dependencies.tower]
version = "0.5"
features = ["util"]