[package]
edition = "2021"
name = "brain2qwerty"
version = "0.0.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Brain2Qwerty V1/V2 MEG neural decoding inference in Rust (parity-tested vs Python)"
documentation = "https://docs.rs/brain2qwerty"
readme = "README.md"
keywords = [
"meg",
"eeg",
"bci",
"neural-decoding",
"inference",
]
categories = [
"science::neuroscience",
"artificial-intelligence",
]
license = "Apache-2.0"
repository = "https://github.com/eugenehp/brain2qwerty-rs"
[features]
all-engines-cpu = [
"pure-rust",
"rlx-encoder",
"rlx-cpu",
]
all-rlx-backends = [
"rlx-cpu",
"rlx-cuda",
"rlx-metal",
"rlx-mlx",
"rlx-gpu",
"rlx-coreml",
"rlx-rocm",
]
apple-silicon = [
"rlx-cpu",
"rlx-metal",
"rlx-mlx",
"rlx-gpu",
"rlx-coreml",
]
default = [
"rlx-encoder",
"rlx-cpu",
]
llm-rlx = [
"rlx-encoder",
"dep:rlx-flow",
"dep:rlx-models-core",
]
nvidia-gpu = [
"rlx-cpu",
"rlx-cuda",
"rlx-gpu",
]
pure-rust = []
rlx-ane = ["rlx-coreml"]
rlx-coreml = [
"rlx-encoder",
"rlx/cpu",
"dep:rlx-runtime",
"rlx-runtime/coreml",
]
rlx-cpu = [
"rlx-encoder",
"rlx/cpu",
]
rlx-cpu-accel = [
"rlx-cpu",
"rlx/blas-accelerate",
]
rlx-cuda = [
"rlx-encoder",
"rlx/cuda",
]
rlx-encoder = ["dep:rlx"]
rlx-gpu = [
"rlx-encoder",
"rlx/gpu",
]
rlx-metal = [
"rlx-encoder",
"rlx/metal",
]
rlx-mlx = [
"rlx-encoder",
"rlx/mlx",
]
rlx-rocm = [
"rlx-encoder",
"rlx/rocm",
]
rlx-wgpu = ["rlx-gpu"]
[lib]
name = "brain2qwerty"
path = "src/lib.rs"
[[bin]]
name = "brain2qwerty-infer"
path = "src/bin/infer.rs"
required-features = [
"rlx-encoder",
"rlx-cpu",
]
[[example]]
name = "bench_encoder"
path = "examples/bench_encoder.rs"
required-features = ["rlx-encoder"]
[[example]]
name = "check_rlx_devices"
path = "examples/check_rlx_devices.rs"
required-features = [
"rlx-encoder",
"rlx-cpu",
]
[[test]]
name = "decode_parity"
path = "tests/decode_parity.rs"
[[test]]
name = "e2e_parity"
path = "tests/e2e_parity.rs"
[[test]]
name = "encoder_parity"
path = "tests/encoder_parity.rs"
[[test]]
name = "llm_parity"
path = "tests/llm_parity.rs"
[[test]]
name = "parity_metrics"
path = "tests/parity_metrics.rs"
[[test]]
name = "rlx_encoder_parity"
path = "tests/rlx_encoder_parity.rs"
required-features = [
"rlx-encoder",
"rlx-cpu",
]
[[test]]
name = "v1_parity"
path = "tests/v1_parity.rs"
[[test]]
name = "v2_parity"
path = "tests/v2_parity.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.bytemuck]
version = "1"
features = ["derive"]
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.half]
version = "2"
features = ["bytemuck"]
[dependencies.rlx]
version = "0.2.9"
optional = true
default-features = false
[dependencies.rlx-flow]
version = "0.2.9"
optional = true
[dependencies.rlx-models-core]
version = "0.2.9"
optional = true
[dependencies.rlx-runtime]
version = "0.2.9"
optional = true
default-features = false
[dependencies.safetensors]
version = "0.7"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.tokenizers]
version = "0.21"
features = ["onig"]
default-features = true
[dependencies.tracing]
version = "0.1"