[package]
edition = "2021"
name = "repartir"
version = "2.0.2"
authors = ["Pragmatic AI Labs"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sovereign AI-grade distributed computing primitives for Rust (CPU, GPU, HPC)"
documentation = "https://docs.rs/repartir"
readme = "README.md"
keywords = [
"distributed",
"hpc",
"gpu",
"cpu",
"sovereign-ai",
]
categories = [
"concurrency",
"science",
]
license = "MIT"
repository = "https://github.com/paiml/repartir"
[features]
checkpoint = [
"trueno-db",
"tokio",
"arrow",
"parquet",
]
cpu = [
"tokio",
"num_cpus",
]
default = ["cpu"]
full = [
"cpu",
"gpu",
"remote",
"remote-tls",
"checkpoint",
"tensor",
"tui",
"serverless",
"microvm",
"simd",
]
gpu = [
"wgpu",
"pollster",
]
microvm = [
"pepita",
"tokio",
]
remote = [
"tokio",
"bincode",
"tracing-subscriber",
]
remote-tls = [
"remote",
"rustls",
"tokio-rustls",
"rustls-pemfile",
]
serverless = [
"pepita",
"tokio",
]
simd = ["pepita"]
tensor = ["trueno"]
tui = [
"ratatui",
"crossterm",
"tokio",
]
[lib]
name = "repartir"
path = "src/lib.rs"
[[bin]]
name = "job-flow"
path = "src/bin/job-flow.rs"
required-features = [
"tui",
"remote",
]
[[bin]]
name = "repartir-worker"
path = "src/bin/repartir-worker.rs"
required-features = ["remote"]
[[example]]
name = "checkpoint_example"
path = "examples/checkpoint_example.rs"
[[example]]
name = "gpu_detect"
path = "examples/gpu_detect.rs"
[[example]]
name = "hello_repartir"
path = "examples/hello_repartir.rs"
[[example]]
name = "pubsub_example"
path = "examples/pubsub_example.rs"
[[example]]
name = "pushpull_example"
path = "examples/pushpull_example.rs"
[[example]]
name = "tensor_example"
path = "examples/tensor_example.rs"
[[example]]
name = "test_mac_worker"
path = "examples/test_mac_worker.rs"
[[example]]
name = "tls_example"
path = "examples/tls_example.rs"
[[example]]
name = "v1_1_showcase"
path = "examples/v1_1_showcase.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "property_tests"
path = "tests/property_tests.rs"
[[bench]]
name = "pool_bench"
path = "benches/pool_bench.rs"
harness = false
[[bench]]
name = "scheduler_bench"
path = "benches/scheduler_bench.rs"
harness = false
[dependencies.arrow]
version = "53.0"
optional = true
[dependencies.bincode]
version = "1.3"
optional = true
[dependencies.crossterm]
version = "0.28"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.num_cpus]
version = "1.16"
optional = true
[dependencies.parquet]
version = "53.0"
optional = true
[dependencies.pepita]
version = "0.1.0"
optional = true
[dependencies.pollster]
version = "0.4"
optional = true
[dependencies.ratatui]
version = "0.29"
optional = true
[dependencies.rustls]
version = "0.23"
optional = true
[dependencies.rustls-pemfile]
version = "2.0"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.35"
features = [
"rt-multi-thread",
"sync",
"time",
"process",
"io-util",
"macros",
"net",
]
optional = true
[dependencies.tokio-rustls]
version = "0.26"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
optional = true
[dependencies.trueno]
version = "0.14"
features = ["parallel"]
optional = true
[dependencies.trueno-db]
version = "0.3"
features = ["distributed"]
optional = true
[dependencies.uuid]
version = "1.6"
features = [
"v4",
"serde",
]
[dependencies.wgpu]
version = "23.0"
features = ["fragile-send-sync-non-atomic-wasm"]
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.jugar-probar]
version = "0.4"
features = ["tui"]
default-features = false
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.ratatui]
version = "0.29"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tracing-subscriber]
version = "0.3"
[lints.clippy]
expect_used = "deny"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
panic = "deny"
similar_names = "allow"
todo = "deny"
unwrap_used = "deny"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]
[profile.bench]
lto = true
codegen-units = 1
[profile.dev]
opt-level = 0
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true
[profile.test]
opt-level = 1