[package] name = "tvix-store" version = "0.1.0" edition = "2021" [dependencies] anyhow = "1.0.68" async-compression = { version = "0.4.9", features = ["tokio", "bzip2", "gzip", "xz", "zstd"]} async-stream = "0.3.5" blake3 = { version = "1.3.1", features = ["rayon", "std"] } bstr = "1.6.0" bytes = "1.4.0" clap = { version = "4.0", features = ["derive", "env"] } count-write = "0.1.0" data-encoding = "2.6.0" futures = "0.3.30" lazy_static = "1.4.0" nix-compat = { path = "../nix-compat", features = ["async"] } pin-project-lite = "0.2.13" prost = "0.13.1" serde = { version = "1.0.197", features = [ "derive" ] } serde_json = "1.0" serde_with = "3.7.0" serde_qs = "0.12.0" sha2 = "0.10.6" sled = { version = "0.34.7" } thiserror = "1.0.38" tokio = { version = "1.32.0", features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio-listener = { version = "0.4.2", features = [ "clap", "multi-listener", "sd_listen", "tonic012" ] } tokio-stream = { version = "0.1.14", features = ["fs"] } tokio-util = { version = "0.7.9", features = ["io", "io-util", "compat"] } tonic = { version = "0.12.0", features = ["tls", "tls-roots"] } tower = "0.4.13" tower-http = { version = "0.5.0", features = ["trace"] } tvix-castore = { path = "../castore" } url = "2.4.0" walkdir = "2.4.0" reqwest = { version = "0.12.0", features = ["rustls-tls-native-roots", "stream"], default-features = false } reqwest-middleware = "0.3.0" lru = "0.12.3" parking_lot = "0.12.2" tvix-tracing = { path = "../tracing", features = ["tonic", "reqwest"] } tracing = "0.1.40" tracing-indicatif = "0.3.6" hyper-util = "0.1.6" toml = { version = "0.8.15", optional = true } tonic-health = { version = "0.12.1", default-features = false } [dependencies.tonic-reflection] optional = true version = "0.12.0" [dependencies.bigtable_rs] optional = true version = "0.2.10" [build-dependencies] prost-build = "0.13.1" tonic-build = "0.12.0" [dev-dependencies] async-process = "2.1.0" rstest = "0.19.0" rstest_reuse = "0.6.0" tempfile = "3.3.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