[package]
edition = "2021"
rust-version = "1.87"
name = "lumamba"
version = "0.0.1"
authors = [
"Eugene Hauptmann",
"Nataliya Kosmyna",
]
build = false
exclude = [
"data/",
"scripts/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "LuMamba EEG foundation model — inference in Rust on the RLX runtime"
homepage = "https://github.com/eugenehp/lumamba-rs"
documentation = "https://docs.rs/lumamba"
readme = "README.md"
keywords = [
"eeg",
"foundation-model",
"mamba",
"ssm",
"BCI",
]
categories = [
"science",
"mathematics",
]
license = "GPL-3.0-only"
repository = "https://github.com/eugenehp/lumamba-rs"
[features]
apple-silicon = ["rlx-apple-silicon"]
cpu = ["rlx-cpu"]
cuda = ["rlx-cuda"]
default = ["rlx-cpu"]
edf = [
"dep:exg",
"dep:exg-luna",
"dep:ndarray",
]
gpu = ["rlx-gpu"]
hf-download = ["dep:hf-hub"]
metal = ["rlx-metal"]
mlx = ["rlx-mlx"]
rlx-apple-silicon = ["rlx/apple-silicon"]
rlx-blas-accelerate = ["rlx/blas-accelerate"]
rlx-cpu = ["rlx/cpu"]
rlx-cuda = ["rlx/cuda"]
rlx-gpu = ["rlx/gpu"]
rlx-metal = ["rlx/metal"]
rlx-mlx = ["rlx/mlx"]
rlx-rocm = ["rlx/rocm"]
rlx-tpu = ["rlx/tpu"]
validation = []
[lib]
name = "lumamba"
path = "src/lib.rs"
[[bin]]
name = "download_weights"
path = "src/bin/download_weights.rs"
required-features = ["hf-download"]
[[bin]]
name = "eval"
path = "src/bin/eval.rs"
[[bin]]
name = "infer"
path = "src/bin/infer.rs"
[[bin]]
name = "safetensors_info"
path = "src/bin/safetensors_info.rs"
[[bin]]
name = "validate_encoder"
path = "src/bin/validate_encoder.rs"
required-features = ["validation"]
[[test]]
name = "smoke"
path = "tests/smoke.rs"
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.exg]
version = "0.0.6"
optional = true
default-features = false
[dependencies.exg-luna]
version = "0.0.6"
optional = true
[dependencies.half]
version = "2"
features = ["bytemuck"]
[dependencies.hf-hub]
version = "0.5"
features = ["ureq"]
optional = true
default-features = false
[dependencies.libm]
version = "0.2"
[dependencies.ndarray]
version = "0.17"
optional = true
[dependencies.rayon]
version = "1"
[dependencies.rlx]
version = "0.2.10"
default-features = false
[dependencies.rustfft]
version = "6"
[dependencies.safetensors]
version = "0.7"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1