[package] name = "tvix-store" version = "0.1.0" edition = "2021" [dependencies] anyhow = "1.0.86" async-compression = { version = "0.4.12", features = ["tokio", "bzip2", "gzip", "xz", "zstd"]} async-stream = "0.3.5" blake3 = { version = "1.5.4", features = ["rayon", "std"] } bstr = "1.10.0" bytes = "1.7.1" clap = { version = "4.5", features = ["derive", "env"] } count-write = "0.1.0" data-encoding = "2.6.0" futures = "0.3.30" lazy_static = "1.5.0" nix-compat = { path = "../nix-compat", features = ["async"] } pin-project-lite = "0.2.14" prost = "0.13.1" serde = { version = "1.0.209", features = [ "derive" ] } serde_json = "1.0" serde_with = "3.9.0" serde_qs = "0.12.0" sha2 = "0.10.8" sled = { version = "0.34.7" } thiserror = "1.0.63" tokio = { version = "1.39.3", features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio-listener = { version = "0.4.3", features = [ "clap", "multi-listener", "sd_listen", "tonic012" ] } tokio-stream = { version = "0.1.15", features = ["fs"] } tokio-util = { version = "0.7.11", features = ["io", "io-util", "compat"] } tonic = { version = "0.12.2", features = ["tls", "tls-roots"] } tower = "0.4.13" tower-http = { version = "0.5.2", features = ["trace"] } tvix-castore = { path = "../castore" } url = "2.5.2" walkdir = "2.5.0" reqwest = { version = "0.12.7", features = ["rustls-tls-native-roots", "stream"], default-features = false } reqwest-middleware = "0.3.3" lru = "0.12.4" parking_lot = "0.12.3" tvix-tracing = { path = "../tracing", features = ["tonic", "reqwest"] } tracing = "0.1.40" tracing-indicatif = "0.3.6" hyper-util = "0.1.7" toml = { version = "0.8.19", optional = true } tonic-health = { version = "0.12.2", default-features = false } redb = "2.1.2" mimalloc = "0.1.43" [dependencies.tonic-reflection] optional = true version = "0.12.2" [dependencies.bigtable_rs] optional = true # https://github.com/liufuyang/bigtable_rs/pull/86 git = "https://github.com/liufuyang/bigtable_rs" rev = "1818355a5373a5bc2c84287e3a4e3807154ac8ef" [build-dependencies] prost-build = "0.13.1" tonic-build = "0.12.2" [dev-dependencies] async-process = "2.2.4" rstest = "0.19.0" rstest_reuse = "0.6.0" tempfile = "3.12.0" tokio-retry = "0.3.0" [features] default = ["cloud", "fuse", "otlp", "tonic-reflection"] cloud = [ "dep:bigtable_rs", "tvix-castore/cloud" ] fuse = ["tvix-castore/fuse"] otlp = ["tvix-tracing/otlp"] tonic-reflection = ["dep:tonic-reflection", "tvix-castore/tonic-reflection"] tracy = ["tvix-tracing/tracy"] virtiofs = ["tvix-castore/virtiofs"] xp-store-composition = ["toml"] # Whether to run the integration tests. # Requires the following packages in $PATH: # cbtemulator, google-cloud-bigtable-tool integration = [] [lints] workspace = true