rustyml 0.12.0

A high-performance machine learning & deep learning library in pure Rust, offering ML algorithms and neural network support
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 = "2024"
rust-version = "1.89.0"
name = "rustyml"
version = "0.12.0"
authors = ["SomeB1oody <stanyin64@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance machine learning & deep learning library in pure Rust, offering ML algorithms and neural network support"
documentation = "https://docs.rs/crate/rustyml"
readme = "README.md"
keywords = [
    "machine_learning",
    "ML",
    "neural_network",
    "AI",
]
categories = [
    "mathematics",
    "science",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/SomeB1oody/RustyML"

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

[package.metadata.playground]
features = ["default"]

[features]
default = [
    "machine_learning",
    "neural_network",
]
full = [
    "machine_learning",
    "neural_network",
    "utils",
    "math",
    "metrics",
]
machine_learning = [
    "math",
    "dep:ndarray",
    "dep:nalgebra",
    "dep:rayon",
    "dep:ndarray-rand",
    "dep:ahash",
    "dep:serde",
    "dep:serde_json",
    "dep:thiserror",
]
math = [
    "dep:ndarray",
    "dep:ahash",
    "dep:rayon",
]
metrics = [
    "math",
    "dep:ndarray",
    "dep:ahash",
]
neural_network = [
    "math",
    "dep:ndarray",
    "dep:rayon",
    "dep:ndarray-rand",
    "dep:indicatif",
    "dep:serde",
    "dep:serde_json",
    "dep:thiserror",
]
show_progress = ["dep:indicatif"]
utils = [
    "math",
    "dep:ndarray",
    "dep:nalgebra",
    "dep:rayon",
    "dep:ahash",
    "dep:serde",
    "dep:serde_json",
    "dep:ndarray-rand",
    "dep:thiserror",
]

[lib]
name = "rustyml"
path = "src/lib.rs"

[[test]]
name = "machine_learning"
path = "tests/machine_learning/main.rs"
required-features = ["machine_learning"]

[[test]]
name = "neural_network"
path = "tests/neural_network/main.rs"
required-features = ["neural_network"]

[[test]]
name = "utils"
path = "tests/utils/main.rs"
required-features = ["utils"]

[[test]]
name = "metrics"
path = "tests/metrics/main.rs"
required-features = ["metrics"]

[[test]]
name = "math"
path = "tests/math.rs"
required-features = ["math"]

[[bench]]
name = "ml_end_to_end"
path = "benches/ml_end_to_end.rs"
harness = false
required-features = [
    "machine_learning",
    "utils",
]

[[bench]]
name = "nn_end_to_end"
path = "benches/nn_end_to_end.rs"
harness = false
required-features = ["neural_network"]

[[bench]]
name = "parallel_gates"
path = "benches/parallel_gates/main.rs"
harness = false
required-features = [
    "machine_learning",
    "neural_network",
]

[dependencies.ahash]
version = "0.8.12"
features = ["serde"]
optional = true

[dependencies.indicatif]
version = "0.18.4"
optional = true

[dependencies.nalgebra]
version = "0.35.0"
optional = true

[dependencies.ndarray]
version = "0.17.2"
features = [
    "rayon",
    "serde",
]
optional = true

[dependencies.ndarray-rand]
version = "0.16.0"
optional = true

[dependencies.rayon]
version = "1.12.0"
optional = true

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

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

[dependencies.thiserror]
version = "2.0.18"
optional = true

[dev-dependencies.approx]
version = "0.5.1"

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

[profile.dev]
opt-level = 0

[profile.release]
opt-level = 3