rssn 0.2.4

A comprehensive scientific computing library for Rust, aiming for feature parity with NumPy and SymPy.
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 = "rssn"
version = "0.2.4"
authors = ["The rssn developers"]
build = "build.rs"
exclude = [
    "examples/*",
    "tests/*",
    "benches/*",
    "doc/*",
    ".gitea/*",
    ".github/*",
    ".vscode/*",
    ".idea/*",
    "*.sh",
    "*.bat",
    "scripts/*",
    "docs/*",
    "certificates/*",
    "rssn.h",
    "rssn.hpp",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A comprehensive scientific computing library for Rust, aiming for feature parity with NumPy and SymPy."
homepage = "https://github.com/Apich-Organization/rssn"
readme = "README.md"
keywords = [
    "scientific-computing",
    "symbolic-math",
    "numerical-analysis",
    "physics-simulation",
    "optimization",
]
categories = [
    "science",
    "mathematics",
    "data-structures",
    "simulation",
    "algorithms",
]
license = "Apache-2.0"
repository = "https://github.com/Apich-Organization/rssn"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--html-in-header",
    "doc-header.html",
]

[features]
compute = []
default = []
experimental = [
    "ffi_blinding",
    "jit",
    "dep:pulp",
    "dep:simba",
]
ffi_api = []
ffi_blinding = ["dep:libc"]
full = [
    "default",
    "output",
    "physics",
    "plugins",
    "compute",
    "ffi_blinding",
    "jit",
    "input",
    "experimental",
]
input = ["dep:nom"]
jit = [
    "dep:cranelift-codegen",
    "dep:cranelift-frontend",
    "dep:cranelift-jit",
    "dep:cranelift-module",
    "dep:cranelift-native",
]
nightly = ["dep:pulp"]
output = [
    "dep:plotters",
    "dep:ndarray-npy",
]
physics = []
plugins = [
    "dep:libloading",
    "dep:abi_stable",
]

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

[dependencies.abi_stable]
version = "0.11"
optional = true

[dependencies.ahash]
version = "0.8"
features = ["serde"]

[dependencies.argmin]
version = "0.11"
features = [
    "serde",
    "serde1",
]

[dependencies.argmin-math]
version = "0.5"
features = [
    "ndarray_latest-nolinalg",
    "nalgebra_latest",
]

[dependencies.bigdecimal]
version = "0.4"
features = ["serde"]

[dependencies.bincode-next]
version = "2.0"
features = ["serde"]

[dependencies.cranelift-codegen]
version = "0.127"
optional = true

[dependencies.cranelift-frontend]
version = "0.127"
optional = true

[dependencies.cranelift-jit]
version = "0.127"
optional = true

[dependencies.cranelift-module]
version = "0.127"
optional = true

[dependencies.cranelift-native]
version = "0.127"
optional = true

[dependencies.dashmap]
version = "6"

[dependencies.errorfunctions]
version = "0.2"

[dependencies.faer]
version = "0.23"

[dependencies.instability]
version = "0.3"

[dependencies.interp]
version = "2.1"

[dependencies.itertools]
version = "0.14"

[dependencies.lazy_static]
version = "1.5"

[dependencies.libc]
version = "0.2"
optional = true

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

[dependencies.nalgebra]
version = "0.34"
features = ["serde-serialize"]

[dependencies.ndarray]
version = "0.16"
features = ["serde"]

[dependencies.ndarray-npy]
version = "0.9"
optional = true

[dependencies.nom]
version = "8.0"
optional = true

[dependencies.num-bigint]
version = "0.4"
features = [
    "serde",
    "rand",
]

[dependencies.num-complex]
version = "0.4"
features = ["serde"]

[dependencies.num-rational]
version = "0.4"
features = ["serde"]

[dependencies.num-traits]
version = "0.2"

[dependencies.once_cell]
version = "1.21"

[dependencies.ordered-float]
version = "5.1"
features = ["serde"]

[dependencies.plotters]
version = "0.3"
features = [
    "image",
    "chrono",
    "ttf",
    "font-kit",
    "evcxr",
]
optional = true

[dependencies.pulp]
version = "0.22"
features = [
    "macro",
    "x86-v4",
    "nightly",
]
optional = true

[dependencies.quadrature]
version = "0.1"

[dependencies.rand]
version = "0.8.5"

[dependencies.rand_v09]
version = "0.9.2"
package = "rand"

[dependencies.rayon]
version = "1.11"

[dependencies.rustfft]
version = "6.4"

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1.0"

[dependencies.simba]
version = "0.9"
features = [
    "libm",
    "cordic",
    "decimal",
    "rand",
]
optional = true

[dependencies.special]
version = "0.12"

[dependencies.sprs-rssn]
version = "0.11"

[dependencies.statrs]
version = "0.18"

[dependencies.uom]
version = "0.37"
features = [
    "use_serde",
    "num-bigint",
    "std",
    "usize",
    "si",
]

[dependencies.uuid]
version = "1.19"
features = ["v4"]

[dev-dependencies.assert_approx_eq]
version = "1.1"

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

[dev-dependencies.proptest]
version = "1.9"

[build-dependencies.cbindgen]
version = "0.29"

[build-dependencies.vergen]
version = "9"
features = [
    "build",
    "cargo",
    "cargo_metadata",
    "emit_and_set",
    "regex",
    "rustc",
    "rustc_version",
    "si",
    "sysinfo",
    "time",
]

[build-dependencies.vergen-gitcl]
version = "9"
features = [
    "build",
    "cargo",
    "emit_and_set",
    "rustc",
    "si",
]

[lints.clippy]
empty-line-after-doc-comments = "allow"

[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0
check-cfg = ["cfg(has_foo)"]

[profile.dev]
opt-level = 0
lto = false
debug = 2

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
debug-assertions = false
panic = "abort"
overflow-checks = false
incremental = true
strip = true