[package]
edition = "2024"
rust-version = "1.86"
name = "spacetravlr"
version = "1.3.0"
build = "build.rs"
exclude = [
".agent/",
".agents/",
".claude/",
".cursor/",
"skills-lock.json",
".github/",
".vscode/",
"results/",
"data/",
"web/",
"genes_human_mouse.csv.xz",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "spacetravlr"
description = "Spatial gene regulatory network inference and in-silico perturbation (Rust port of SpaceTravLR)"
homepage = "https://github.com/Koushul/SpaceTravLR_rust"
documentation = "https://docs.rs/spacetravlr"
readme = "README.md"
keywords = [
"spatial",
"transcriptomics",
"grn",
"single-cell",
"machine-learning",
]
categories = [
"science",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/Koushul/SpaceTravLR_rust"
[package.metadata.cargo-llvm-cov]
ignore-filename-regex = [
'/\.cargo/registry/',
'/\.cargo/git/',
]
[features]
default = [
"tui",
"self-update",
]
dev-main = []
self-update = [
"dep:ureq",
"dep:tar",
"dep:sha2",
"dep:semver",
]
spatial-viewer = [
"dep:axum",
"dep:tokio",
"dep:tower-http",
"dep:tracing",
"dep:tracing-subscriber",
"dep:foyer",
"dep:bincode",
"dep:blake3",
"dep:tempfile",
]
tui = [
"dep:ratatui",
"dep:ratatui-themes",
"dep:crossterm",
"dep:sysinfo",
"dep:unicode-width",
"dep:tokio",
]
[lib]
name = "spacetravlr"
path = "src/lib.rs"
[[bin]]
name = "spacetravlr"
path = "src/bin/spacetravlr.rs"
[[bin]]
name = "spacetravlr-perturb"
path = "src/bin/spacetravlr_perturb.rs"
[[bin]]
name = "spacetravlr-dev"
path = "src/main.rs"
required-features = ["dev-main"]
[[bin]]
name = "spatial_viewer"
path = "src/bin/spatial_viewer.rs"
required-features = ["spatial-viewer"]
[[test]]
name = "test_betadata"
path = "tests/test_betadata.rs"
[[test]]
name = "test_condition_split"
path = "tests/test_condition_split.rs"
[[test]]
name = "test_perturb"
path = "tests/test_perturb.rs"
[[test]]
name = "test_spacetravlr_perturb_batch_cli"
path = "tests/test_spacetravlr_perturb_batch_cli.rs"
[[test]]
name = "test_training_repro_genes"
path = "tests/test_training_repro_genes.rs"
[dependencies.anndata]
version = "0.6"
[dependencies.anndata-hdf5]
version = "0.5"
[dependencies.anyhow]
version = "1.0"
[dependencies.approx]
version = "0.5"
[dependencies.axum]
version = "0.8"
features = [
"json",
"query",
"macros",
"tokio",
"http1",
]
optional = true
default-features = false
[dependencies.bincode]
version = "2"
features = ["serde"]
optional = true
[dependencies.blake3]
version = "1.5"
optional = true
[dependencies.build_html]
version = "2.7"
[dependencies.burn]
version = "0.16.1"
features = [
"wgpu",
"train",
"ndarray",
]
[dependencies.burn-autodiff]
version = "0.16.1"
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4.5"
features = [
"derive",
"wrap_help",
]
[dependencies.crossterm]
version = "0.29"
optional = true
[dependencies.flate2]
version = "1"
[dependencies.foyer]
version = "0.22.3"
features = ["serde"]
optional = true
[dependencies.glob]
version = "0.3"
[dependencies.indicatif]
version = "0.17"
features = ["rayon"]
[dependencies.kiddo]
version = ">=5.2, <5.3"
[dependencies.nalgebra-sparse]
version = "0.11"
[dependencies.ndarray]
version = "0.16"
features = ["rayon"]
[dependencies.ndarray-npy]
version = "0.9"
[dependencies.polars]
version = "0.51"
features = [
"lazy",
"ndarray",
"parquet",
"csv",
"ipc",
"decompress",
"strings",
"temporal",
"fmt",
"zip_with",
]
default-features = false
[dependencies.polars-utils]
version = "0.51"
[dependencies.pollster]
version = "0.4"
[dependencies.rand]
version = "0.8"
[dependencies.rand_chacha]
version = "0.3"
[dependencies.rand_distr]
version = "0.4"
[dependencies.ratatui]
version = "0.30"
optional = true
[dependencies.ratatui-themes]
version = "0.2.0"
optional = true
[dependencies.rayon]
version = "1.10"
[dependencies.semver]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.sysinfo]
version = "0.32"
optional = true
[dependencies.tar]
version = "0.4"
optional = true
[dependencies.tempfile]
version = "3"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"signal",
"sync",
"time",
]
optional = true
[dependencies.toml]
version = "0.8"
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"fs",
"trace",
"compression-gzip",
]
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.unicode-width]
version = "0.2"
optional = true
[dependencies.ureq]
version = "2.12"
features = ["json"]
optional = true
default-features = true
[dependencies.wgpu]
version = "23.0"
[profile.dev]
incremental = true
[profile.release]
lto = "thin"
codegen-units = 1