[package]
edition = "2024"
rust-version = "1.89"
name = "rlx-pkg"
version = "0.2.18"
authors = [
"Eugene Hauptmann",
"Nataliya Kosmyna",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "RLX package format (.rlxp) — flat hybrid mmap packs, optional graph, ZIP/dir"
documentation = "https://docs.rs/rlx"
readme = "README.md"
keywords = [
"ml",
"tensor",
"compiler",
"neural-network",
"autodiff",
]
categories = [
"science",
"algorithms",
"compilers",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/MIT-RLX/rlx"
resolver = "2"
[package.metadata.docs.rs]
features = [
"encrypt",
"remote",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
all-features = false
[features]
default = []
encrypt = [
"dep:chacha20poly1305",
"dep:argon2",
"dep:rand_core",
]
remote = ["dep:ureq"]
[lib]
name = "rlx_pkg"
path = "src/lib.rs"
[[bin]]
name = "rlx-pkg"
path = "src/bin/rlx-pkg.rs"
[[example]]
name = "bench_compare"
path = "examples/bench_compare.rs"
[[example]]
name = "bench_hybrid"
path = "examples/bench_hybrid.rs"
[[test]]
name = "mlx_keep_packed"
path = "tests/mlx_keep_packed.rs"
[[test]]
name = "mlx_keep_packed_arch"
path = "tests/mlx_keep_packed_arch.rs"
[[test]]
name = "mlx_nvfp4_keep_packed"
path = "tests/mlx_nvfp4_keep_packed.rs"
[[test]]
name = "pt_import"
path = "tests/pt_import.rs"
[[test]]
name = "roundtrip"
path = "tests/roundtrip.rs"
[[bench]]
name = "hybrid_load"
path = "benches/hybrid_load.rs"
harness = false
[[bench]]
name = "q4k_compare"
path = "benches/q4k_compare.rs"
harness = false
[dependencies.anyhow]
version = "1"
[dependencies.argon2]
version = "0.5"
optional = true
[dependencies.bincode]
version = "1"
[dependencies.chacha20poly1305]
version = "0.10"
optional = true
[dependencies.memmap2]
version = "0.9"
[dependencies.rand_core]
version = "0.6"
features = ["getrandom"]
optional = true
[dependencies.rayon]
version = "1.10"
[dependencies.rlx-dduf]
version = "0.2.18"
[dependencies.rlx-gguf]
version = "0.2.18"
[dependencies.rlx-ir]
version = "0.2.18"
features = ["serialize"]
[dependencies.rlx-mlx-io]
version = "0.2.18"
[dependencies.rlx-nemo]
version = "0.2.18"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.ureq]
version = "2"
optional = true
default-features = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dependencies.zip]
version = "2"
features = ["deflate"]
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.safetensors]
version = "0.7"
[dev-dependencies.tempfile]
version = "3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.zstd]
version = "0.13"
[lints.cargo]
unused_dependencies = "allow"
unused_workspace_dependencies = "allow"
[lints.clippy]
collapsible_if = "allow"
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
large_enum_variant = "allow"
manual_range_contains = "allow"
missing_safety_doc = "allow"
needless_range_loop = "allow"
should_implement_trait = "allow"
single_range_in_vec_init = "allow"
too_many_arguments = "allow"
type_complexity = "allow"
unnecessary_wraps = "allow"
upper_case_acronyms = "allow"
useless_conversion = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust.unused]
level = "warn"
priority = 0