[package] name = "triblespace" version = "0.47.0" authors = ["Jan Bramkamp ", "⚫️ ", "Vanja Sophie Cangalovic "] edition = "2021" rust-version = "1.89" description = "The Triblespace: A lightweight knowledge base for rust." homepage = "https://trible.space" license = "MIT OR Apache-2.0" documentation = "https://docs.rs/triblespace" repository = "https://github.com/triblespace/triblespace-rs" [package.metadata.docs.rs] # The `wasm` feature requires the `wasm32-unknown-unknown` Rust target at build time # (the `#[value_formatter]` macro compiles formatter functions to wasm). Keep docs.rs # builds lightweight and reliable by disabling default features and opting into # `proptest` only. no-default-features = true features = ["proptest"] [workspace] members = [ "triblespace-core", "triblespace-core-macros", "triblespace-gpu", "triblespace-macros", "triblespace-macros-common", "triblespace-net", "triblespace-paths", "triblespace-search", "trible", ] # Deliberately NOT a member: the bench suite's `subject` dep is a # repointable symlink (tribleset-bench/subjects/current) that may aim at # any checkout of any era — it must never be resolved as part of this # workspace. It builds standalone from inside tribleset-bench/. exclude = ["tribleset-bench"] resolver = "2" [dependencies] triblespace-core = { version = "0.47.0", path = "./triblespace-core", default-features = false } triblespace-gpu = { version = "0.47.0", path = "./triblespace-gpu", optional = true } triblespace-macros = { version = "0.47.0", path = "./triblespace-macros" } ed25519-dalek = { version = "2.1.0", features = ["rand_core"], optional = true } log = { version = "0.4.26", optional = true } rand_core06 = { package = "rand_core", version = "0.6.4", optional = true } tracing = { version = "0.1.44", optional = true } tracing-subscriber = { version = "0.3.22", features = ["env-filter"], optional = true } thread_local = { version = "1", optional = true } [dev-dependencies] criterion = "0.6.0" futures = "0.3" fake = "4.3.0" im = "15.1.0" rayon = "1.7" tempfile = "3.15.0" trybuild = "1.0.99" proptest = "1.6.0" rand = "0.8" ed25519-dalek = { version = "2.1.0", features = ["rand_core"] } anybytes = { version = "0.20.2", features = ["bytes", "zerocopy", "mmap"] } memmap2 = "0.9.5" url = "2.5.0" serde_json = "1.0" f256 = "0.7.0" blake3 = "1.5" [features] default = ["triblespace-core/proptest", "wasm", "object-store", "parallel", "gpu"] proptest = ["triblespace-core/proptest"] object-store = ["triblespace-core/object-store"] kani = ["triblespace-core/kani"] wasm = ["triblespace-core/wasm"] telemetry = [ "dep:ed25519-dalek", "dep:log", "dep:rand_core06", "dep:tracing", "dep:tracing-subscriber", "dep:thread_local", ] parallel = ["triblespace-core/parallel"] gpu = ["dep:triblespace-gpu", "parallel"] [[bench]] name = "benchmark" harness = false [[bench]] name = "query" harness = false [[bench]] name = "patch" harness = false [[bench]] name = "json_import" harness = false [[bench]] name = "json_export" harness = false [[bench]] name = "json_ld" harness = false [[bench]] name = "tribles_insert" harness = false [[bench]] name = "entity_intrinsic" harness = false [[bench]] name = "number_format" harness = false [profile.bench] debug = true opt-level = 3 [profile.release] debug = true [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)', 'cfg(kani)'] } # Keep every CubeCL 0.10 consumer on the project's runtime fork. The fork adds # immutable external-buffer registration so mmap-backed storage can be exposed # to Metal without an upload when a caller has a suitable layout and lifetime. [patch.crates-io] cubecl-runtime = { git = "https://github.com/erlkonig-ai/cubecl.git", rev = "75635270eed8cfacd1cd0f171f2f6b45a5e65b9c" } cubecl-wgpu = { git = "https://github.com/erlkonig-ai/cubecl.git", rev = "75635270eed8cfacd1cd0f171f2f6b45a5e65b9c" } [package.metadata.kani.flags] default-unwind = "1" [[bench]] name = "portable_bench" harness = false [[bench]] name = "portable_bench_lsm" harness = false [[bench]] name = "collection_evolution" harness = false [[bench]] name = "incremental_collection_queries" harness = false