rss_core 0.6.0

Raster Source Service core library for querying, downloading, and processing remote sensing imagery
[package]
name = "rss_core"
version = "0.6.0"
edition = "2021"
description = "Raster Source Service core library for querying, downloading, and processing remote sensing imagery"
license = "LGPL-3.0-or-later"
authors = ["JRSRP <info@jrsrp.org.au>"]
repository = "https://gitlab.com/jrsrp/sys/eors_workspace"
homepage = "https://www.jrsrp.org.au/"
documentation = "https://docs.rs/rss_core"
keywords = ["remote-sensing", "satellite-imagery", "geospatial", "stac", "raster"]
categories = ["science::geo", "database"]
include = [
    "src/**/*",
    "data/products/**/*",
    "data/sentinel2_bbox.json",
    "data/landsat_bbox.json",
    "Cargo.toml",
    "README.md",
    "LICENSE",
    "CHANGELOG.md",
]

[lib]
name = "rss_core"
crate-type = ["lib"]

[dependencies]
anyhow = { workspace = true }
chrono = { workspace = true }
clap = { workspace = true, features = ["derive"] }
env_logger = { workspace = true }
gdal = { workspace = true, features = ["ndarray"] }
gdal-src = { workspace = true, optional = true }
log = { workspace = true }
ndarray = { workspace = true }
reqwest = { workspace = true, features = ["blocking", "gzip", "brotli", "deflate"] }

# PyO3 (optional, maturin adds cdylib at build time)
pyo3 = { version = "0.22", features = ["abi3-py39", "anyhow"], optional = true }

# Direct dependencies (not in workspace)
async-process = "2.0"
bitflags = "2"
futures = "0.3"
geojson = "0.24"
glob = "0.3"
hex = "0.4"
iter-enum = "1.1"
json = "0.12"
lazy_static = "1.4"
postgres = "0.19"
rayon = "1.10"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
sha2 = "0.10"
spinners = "4.1"
stac = "0.12"
strum = "0.26"
strum_macros = "0.26"
tempfile = "3.10"
tokio = { version = "1.32", features = ["full"] }
url = "2.4"
uuid = { version = "1.11", features = ["v4"] }

[dev-dependencies]
assert_cmd = "2.0"
async-tiff = { version = "0.3.0", features = ["ndarray"] }
criterion = "0.8"
object_store = { version = "0.13.2", features = ["aws"] }
tempfile = "3.10"
tokio = { version = "1.32", features = ["full"] }
tokio-test = "0.4"

[features]
default = []
pyo3 = ["dep:pyo3"]
bench_live = []
static-gdal = ["gdal-src"]

[[bench]]
name = "get_vs_get_remote"
harness = false
required-features = ["bench_live"]

[[bench]]
name = "async_tiff_vs_vsi"
harness = false
required-features = ["bench_live"]

[[bench]]
name = "get_vs_get_remote_vs_async"
harness = false
required-features = ["bench_live"]

[package.metadata.docs.rs]
rustc-args = ["--cfg", "docsrs"]