[package]
name = "stac"
description = "Rust library for the SpatioTemporal Asset Catalog (STAC) specification"
version = "0.16.5"
keywords = ["geospatial", "stac", "metadata", "geo"]
authors.workspace = true
categories.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[features]
std = []
geo = ["dep:geo"]
geoarrow = [
    "dep:geoarrow-array",
    "dep:geoarrow-schema",
    "dep:arrow-array",
    "dep:arrow-cast",
    "dep:arrow-json",
    "dep:arrow-schema",
    "dep:geo-traits",
    "dep:geo-types",
    "dep:wkb",
]
geoparquet = ["geoarrow", "dep:geoparquet", "dep:parquet"]

[dependencies]
arrow-array = { workspace = true, optional = true, features = ["chrono-tz"] }
arrow-cast = { workspace = true, optional = true }
arrow-json = { workspace = true, optional = true }
arrow-schema = { workspace = true, optional = true }
bytes.workspace = true
chrono = { workspace = true, features = ["serde"] }
cql2.workspace = true
geo = { workspace = true, optional = true }
geo-traits = { workspace = true, optional = true }
geo-types = { workspace = true, optional = true }
geoarrow-array = { workspace = true, optional = true }
geoarrow-schema = { workspace = true, optional = true }
geojson.workspace = true
geoparquet = { workspace = true, optional = true }
indexmap.workspace = true
log.workspace = true
mime.workspace = true
parquet = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["preserve_order"] }
serde_urlencoded.workspace = true
stac-derive = { version = "0.3.0", path = "../derive" }
thiserror.workspace = true
tracing.workspace = true
url = { workspace = true, features = ["serde"] }
wkb = { workspace = true, optional = true }

[dev-dependencies]
assert-json-diff.workspace = true
bytes.workspace = true
rstest.workspace = true
tokio = { workspace = true, features = ["macros"] }
tokio-test.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
