[package]
name = "chroma-types"
version = "0.15.0"
edition = "2021"
description = "Chroma-provided crate for internal types used in the Chroma API."
license = "Apache-2.0"
repository = "https://github.com/chroma-core/chroma"

[lib]
path = "src/lib.rs"

[dependencies]
async-trait = { workspace = true }
base64 = { workspace = true }
bitpacking = { workspace = true }
half = { workspace = true }
chrono = { workspace = true }
prost = { workspace = true }
prost-types = { workspace = true }
roaring = { workspace = true }
thiserror = { workspace = true }
tonic = { workspace = true }
tonic-prost = "0.14"
uuid = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
pyo3 = { workspace = true, optional = true }
validator = { workspace = true }
regex = { workspace = true }
regex-syntax = { workspace = true }
utoipa = { workspace = true, optional = true }
sprs = { workspace = true }

# (Cross-crate testing dependencies)
proptest = { workspace = true, optional = true }
proptest-derive = { workspace = true, optional = true }

chroma-error = { workspace = true, features = ["tonic", "validator"] }
itertools.workspace = true

[build-dependencies]
tonic-prost-build = "0.14"
criterion = { workspace = true }

[features]
testing = ["dep:proptest", "dep:proptest-derive"]
utoipa = ["dep:utoipa"]
default = []
