scry-learn 0.1.0

Machine learning toolkit in pure Rust
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.85.0"
name = "scry-learn"
version = "0.1.0"
authors = ["esoc"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Machine learning toolkit in pure Rust"
documentation = "https://docs.rs/scry-learn"
readme = "README.md"
keywords = [
    "machine-learning",
    "decision-tree",
    "random-forest",
    "gradient-boosting",
    "neural-network",
]
categories = [
    "science",
    "algorithms",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Slush97/esolearn"

[features]
csv = ["dep:csv"]
default = []
experimental = []
extended-bench = []
mmap = [
    "dep:memmap2",
    "dep:bytemuck",
]
polars = ["dep:polars"]
serde = ["dep:serde"]

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

[[example]]
name = "crosslib_comparison"
path = "examples/crosslib_comparison.rs"

[[example]]
name = "gpu_tensor_bench"
path = "examples/gpu_tensor_bench.rs"

[[example]]
name = "industry_report"
path = "examples/industry_report.rs"

[[example]]
name = "universal_bank"
path = "examples/universal_bank.rs"
required-features = ["csv"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[bench]]
name = "benchmark_config"
path = "benches/benchmark_config.rs"

[[bench]]
name = "competitor_bench"
path = "benches/competitor_bench.rs"
harness = false

[[bench]]
name = "fair_bench"
path = "benches/fair_bench.rs"
harness = false

[[bench]]
name = "full_model_benchmark"
path = "benches/full_model_benchmark.rs"
harness = false

[[bench]]
name = "honest_bench"
path = "benches/honest_bench.rs"
harness = false

[[bench]]
name = "industry_benchmark"
path = "benches/industry_benchmark.rs"
harness = false

[[bench]]
name = "ml_algorithms"
path = "benches/ml_algorithms.rs"
harness = false

[[bench]]
name = "scaling_benchmark"
path = "benches/scaling_benchmark.rs"
harness = false

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

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

[dependencies.memmap2]
version = "0.9"
optional = true

[dependencies.polars]
version = "0.46"
features = ["lazy"]
optional = true
default-features = false

[dependencies.rayon]
version = "1"

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

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

[dev-dependencies.csv]
version = "1"

[dev-dependencies.fastrand]
version = "2"

[dev-dependencies.insta]
version = "1"
features = ["glob"]

[dev-dependencies.linfa]
version = "0.8"

[dev-dependencies.linfa-clustering]
version = "0.8"

[dev-dependencies.linfa-elasticnet]
version = "0.8"

[dev-dependencies.linfa-ensemble]
version = "0.8.1"

[dev-dependencies.linfa-linear]
version = "0.8"

[dev-dependencies.linfa-logistic]
version = "0.8"

[dev-dependencies.linfa-nn]
version = "0.8"

[dev-dependencies.linfa-reduction]
version = "0.8"

[dev-dependencies.linfa-trees]
version = "0.8"

[dev-dependencies.ndarray]
version = "0.16"

[dev-dependencies.ndarray-rand]
version = "0.15"

[dev-dependencies.pretty_assertions]
version = "1"

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.smartcore]
version = "0.4"

[lints.clippy]
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
many_single_char_names = "allow"
missing_const_for_fn = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
suboptimal_flops = "allow"
too_many_lines = "allow"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
missing_docs = "warn"
unreachable_pub = "allow"
unsafe_code = "deny"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ['cfg(feature, values("scry-gpu"))']