[package]
edition = "2021"
rust-version = "1.78"
name = "brainjepa"
version = "0.2.7"
authors = ["Eugene Hauptmann"]
build = false
exclude = [
"data/*",
"figures/*",
"hf_model_card/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Brain-JEPA fMRI Foundation Model — inference in Rust (RLX)"
homepage = "https://github.com/eugenehp/brainjepa-rs"
documentation = "https://docs.rs/brainjepa"
readme = "README.md"
keywords = [
"fmri",
"foundation-model",
"neuroscience",
"brain",
"vision-transformer",
]
categories = [
"science",
"mathematics",
"algorithms",
]
license = "MIT"
repository = "https://github.com/eugenehp/brainjepa-rs"
[features]
apple-silicon = ["rlx-apple-silicon"]
cpu = ["rlx-cpu"]
cuda = ["rlx-cuda"]
default = ["rlx-engine"]
gpu = ["rlx-gpu"]
hf-download = ["dep:hf-hub"]
metal = ["rlx-metal"]
mlx = ["rlx-mlx"]
nvidia = ["rlx-nvidia"]
rlx = ["dep:rlx"]
rlx-apple-silicon = [
"rlx",
"rlx/apple-silicon",
]
rlx-blas-accelerate = [
"rlx",
"rlx/blas-accelerate",
]
rlx-blas-mkl = [
"rlx",
"rlx/blas-mkl",
]
rlx-blas-openblas = [
"rlx",
"rlx/blas-openblas",
]
rlx-cpu = [
"rlx",
"rlx/cpu",
]
rlx-cuda = [
"rlx",
"rlx/cuda",
]
rlx-engine = [
"rlx",
"rlx-cpu",
]
rlx-gpu = [
"rlx",
"rlx/gpu",
]
rlx-metal = [
"rlx",
"rlx/metal",
]
rlx-mlx = [
"rlx",
"rlx/mlx",
]
rlx-nvidia = [
"rlx",
"rlx/nvidia",
]
rlx-rocm = [
"rlx",
"rlx/rocm",
]
rlx-tpu = [
"rlx",
"rlx/tpu",
]
rocm = ["rlx-rocm"]
tpu = ["rlx-tpu"]
[lib]
name = "brainjepa"
path = "src/lib.rs"
[[bin]]
name = "classify"
path = "src/bin/classify.rs"
required-features = ["rlx-engine"]
[[bin]]
name = "download_weights"
path = "src/bin/download_weights.rs"
required-features = ["hf-download"]
[[bin]]
name = "infer"
path = "src/bin/infer.rs"
required-features = ["rlx-engine"]
[[bin]]
name = "predict"
path = "src/bin/predict.rs"
required-features = ["rlx-engine"]
[[example]]
name = "embed_rlx"
path = "examples/embed_rlx.rs"
required-features = ["rlx-engine"]
[[example]]
name = "backend_compare"
path = "examples/backend_compare.rs"
required-features = ["rlx-engine"]
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "csv_export"
path = "tests/csv_export.rs"
required-features = ["rlx-engine"]
[[test]]
name = "rlx_graph_compile"
path = "tests/rlx_graph_compile.rs"
required-features = ["rlx-engine"]
[[test]]
name = "rlx_weights_load"
path = "tests/rlx_weights_load.rs"
required-features = ["rlx-engine"]
[[test]]
name = "rlx_device_errors"
path = "tests/rlx_device_errors.rs"
required-features = ["rlx-engine"]
[[test]]
name = "parity_rlx_cross_backend"
path = "tests/parity_rlx_cross_backend.rs"
required-features = ["rlx-engine"]
[[test]]
name = "rlx_classification"
path = "tests/rlx_classification.rs"
required-features = ["rlx-engine"]
[[test]]
name = "masks_indices"
path = "tests/masks_indices.rs"
[[test]]
name = "rlx_predictor_compile"
path = "tests/rlx_predictor_compile.rs"
required-features = ["rlx-engine"]
[dependencies.anyhow]
version = "1"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.fastrand]
version = "2"
[dependencies.half]
version = "2"
features = ["bytemuck"]
[dependencies.hf-hub]
version = "0.5"
features = ["ureq"]
optional = true
default-features = false
[dependencies.rayon]
version = "1"
[dependencies.rlx]
version = "0.2.6"
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.thiserror]
version = "2"
[dev-dependencies.tempfile]
version = "3"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
strip = true