ruda-model 0.21.25

Ruda model configuration, module parameters, records and data loading.
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"
name = "ruda-model"
version = "0.21.25"
authors = ["nathanielsimard <nathaniel.simard.42@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ruda model configuration, module parameters, records and data loading."
documentation = "https://github.com/shuqi2077/RUDA/blob/main/docs/en/README.md"
readme = "README.md"
keywords = [
    "deep-learning",
    "machine-learning",
    "tensor",
    "pytorch",
    "ndarray",
]
categories = [
    "science",
    "no-std",
    "embedded",
    "wasm",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/shuqi2077/RUDA/tree/main/ruda-model"

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

[features]
audio = ["ruda-dataset?/audio"]
cuda = [
    "dep:ruda-tensor-device",
    "serde/default",
    "serde_json/default",
]
dataset = ["dep:ruda-dataset"]
default = [
    "std",
    "ruda-core/std",
    "ruda-core/id-tests-std",
    "ruda-tensor-config/std",
    "ruda-dataset?/default",
    "ruda-tensor/api-std",
]
distributed = [
    "std",
    "ruda-tensor/api-distributed",
    "ruda-tensor-device?/distributed",
    "ruda-tensor-router/distributed",
]
doc = [
    "std",
    "dataset",
    "audio",
    "ruda-core/std",
    "ruda-core/id-tests-std",
    "ruda-tensor-config/std",
    "ruda-dataset/doc",
    "ruda-tensor/api-std",
]
fusion = [
    "dep:ruda-fusion",
    "ruda-kernel/frontend-tracing",
    "ruda-kernel/frontend-std",
    "ruda-core/id-tests-std",
]
network = ["dep:ruda-io"]
record-item-custom-serde = ["thiserror"]
ruda-dataset = ["dep:ruda-dataset"]
sqlite = ["ruda-dataset?/sqlite"]
sqlite-bundled = ["ruda-dataset?/sqlite-bundled"]
std = [
    "bincode/std",
    "ruda-core/std",
    "ruda-core/id-tests-std",
    "ruda-tensor-config/std",
    "ruda-io?/std",
    "ruda-tensor/api-std",
    "flate2",
    "half/std",
    "log",
    "rand/std",
    "rmp-serde",
    "serde/std",
    "serde_json/std",
    "num-traits/std",
]
test-cuda = [
    "cuda",
    "ruda-tensor-device/cuda-default",
    "ruda-core/id-tests-std",
]
test-memory-checks = [
    "fusion",
    "ruda-fusion/memory-checks",
]
test-metal = [
    "test-wgpu",
    "ruda-tensor-wgpu/metal",
]
test-rocm = ["ruda-tensor-rocm/default"]
test-tch = ["ruda-tensor-tch/default"]
test-vulkan = [
    "test-wgpu",
    "ruda-tensor-wgpu/vulkan",
]
test-wgpu = ["ruda-tensor-wgpu/default"]
tracing = [
    "ruda-core/tracing",
    "ruda-tensor-config/tracing",
    "ruda-tensor/api-tracing",
    "ruda-dataset?/tracing",
]
vision = ["ruda-dataset?/vision"]

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

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

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

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

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

[dependencies.ahash]
version = "0.8.12"
default-features = false

[dependencies.bincode]
version = "2.0.1"
features = [
    "alloc",
    "serde",
]
default-features = false

[dependencies.data-encoding]
version = "2.11.0"
features = ["alloc"]
default-features = false

[dependencies.derive-new]
version = "0.7.0"
default-features = false

[dependencies.flate2]
version = "1.1.9"
optional = true

[dependencies.half]
version = "2.7.1"
features = [
    "alloc",
    "num-traits",
    "serde",
]
default-features = false

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

[dependencies.log]
version = "0.4.29"
optional = true
default-features = false

[dependencies.num-traits]
version = "0.2.19"
features = ["libm"]
default-features = false

[dependencies.rand]
version = "0.10.1"
features = ["std_rng"]
default-features = false

[dependencies.rmp-serde]
version = "1.3.1"
optional = true
default-features = false

[dependencies.ruda-core]
version = "0.1.5"
features = [
    "serde",
    "shared-bytes",
    "tensor-data",
    "id",
]
default-features = false

[dependencies.ruda-dataset]
version = "0.21.3"
optional = true
default-features = false

[dependencies.ruda-io]
version = "0.21.0"
features = ["network"]
optional = true
default-features = false

[dependencies.ruda-kernel]
version = "0.1.8"
features = ["frontend"]
optional = true
default-features = false

[dependencies.ruda-model-macros]
version = "0.21.0"
default-features = false

[dependencies.ruda-tensor]
version = "0.21.24"
features = ["api"]
default-features = false

[dependencies.ruda-tensor-config]
version = "0.21.3"
default-features = false

[dependencies.serde]
version = "1.0.228"
features = [
    "derive",
    "alloc",
    "derive",
]
default-features = false

[dependencies.serde_json]
version = "1.0.148"
features = ["alloc"]
default-features = false

[dependencies.spin]
version = "0.10.0"
features = [
    "mutex",
    "spin_mutex",
    "portable-atomic",
]

[dependencies.thiserror]
version = "2"
optional = true
default-features = false

[dependencies.uuid]
version = "1.23.0"
default-features = false

[dev-dependencies.rstest]
version = "0.26.1"

[dev-dependencies.serial_test]
version = "3.2.0"

[target.'cfg(not(target_has_atomic = "ptr"))'.dependencies.portable-atomic]
version = "1.13.1"

[target.'cfg(not(target_has_atomic = "ptr"))'.dependencies.portable-atomic-util]
version = "0.2.6"
features = ["alloc"]

[target.'cfg(target_has_atomic = "ptr")'.dependencies.regex]
version = "1.12.3"
features = [
    "perf",
    "unicode",
]
default-features = false

[target.'cfg(target_has_atomic = "ptr")'.dependencies.ruda-fusion]
version = "0.21.22"
features = [
    "std",
    "tracing",
]
optional = true
default-features = false

[target.'cfg(target_has_atomic = "ptr")'.dependencies.ruda-tensor-device]
version = "0.21.23"
features = ["cuda"]
optional = true
default-features = false

[target.'cfg(target_has_atomic = "ptr")'.dependencies.ruda-tensor-remote]
version = "0.21.22"
optional = true
default-features = false

[target.'cfg(target_has_atomic = "ptr")'.dependencies.ruda-tensor-rocm]
version = "0.21.22"
optional = true
default-features = false

[target.'cfg(target_has_atomic = "ptr")'.dependencies.ruda-tensor-router]
version = "0.21.22"
optional = true
default-features = false

[target.'cfg(target_has_atomic = "ptr")'.dependencies.ruda-tensor-tch]
version = "0.21.30"
features = ["default"]
optional = true
default-features = false

[target.'cfg(target_has_atomic = "ptr")'.dependencies.ruda-tensor-wgpu]
version = "0.21.22"
optional = true
default-features = false

[lints.clippy]

[lints.rustdoc]
broken_intra_doc_links = "deny"
invalid_html_tags = "deny"