4 releases
Uses new Rust 2024
| new 0.2.0 | Dec 1, 2025 |
|---|---|
| 0.1.2 | Nov 14, 2025 |
| 0.1.1 | Oct 22, 2025 |
| 0.1.0 | Jul 11, 2025 |
#187 in Geospatial
95 downloads per month
2MB
10K
SLoC
rustac
Command Line Interface (CLI) for STAC, named rustac.
Installation
If you have DuckDB on your system:
cargo install rustac
[!TIP] Set
DUCKDB_LIB_DIRto the directory containing your libduckdb. If you're on macos and using Homebrew, this might beexport DUCKDB_LIB_DIR=/opt/homebrew/lib
Otherwise:
cargo install rustac -F duckdb-bundled # (slow)
Then:
# Search
$ rustac search https://landsatlook.usgs.gov/stac-server \
--collections landsat-c2l2-sr \
--intersects '{"type": "Point", "coordinates": [-105.119, 40.173]}' \
--sortby='-properties.datetime' \
--max-items 1000 \
items.parquet
# Translate formats
$ rustac translate items.parquet items.ndjson
$ rustac translate items.ndjson items.json
# Migrate STAC versions
$ rustac translate item-v1.0.json item-v1.1.json --migrate
# Search stac-geoparquet (no API server required)
$ stac search items.parquet
# Server
$ rustac serve items.parquet # Opens a STAC API server on http://localhost:7822
# Validate
$ rustac validate item.json
Usage
rustac provides the following subcommands:
rustac search: searches STAC APIs and, if theduckdbfeature is enabled, geoparquet filesrustac serve: serves a STAC APIrustac translate: converts STAC from one format to anotherrustac validate: validates a STAC value
Use the --help flag to see all available options for the CLI and the subcommands:
Other info
This crate is part of the rustac monorepo, see its README for contributing and license information.
Dependencies
~109MB
~1.5M SLoC