rustac
Welcome to the home of STAC and Rust. We're happy you're here.
What is rustac?
rustac is a Github repository that holds the code for several Rust crates that can be used to create, search for, and otherwise work with STAC.
Note
Until 2025-04-17, this repository was named stac-rs. See this RFC for context on the name change.
What is rustac-py?
rustac-py is a Python package that provides a simple API for interacting with STAC. rustac-py uses the Rust code in rustac under the hood.
Check out the rustac-py docs for more.
Why are rustac and rustac-py in two separate repos?
Couple of reasons:
- rustac is intended to be useful on its own. It's not just the engine for some Python bindings.
- Care-and-feeding for Python wheels built from Rust is a bit finicky. By moving rustac-py to its own repo, we're able to separate the concerns of keeping a good, clean Rust core, and building Python wheels. Not everyone agrees with this strategy, but here we are.
Rust documentation on docs.rs
- stac: The core Rust crate
- stac-api: Data structures for a STAC API, and a client for searching one
- stac-server: A STAC API server with multiple backends
- pgstac: Rust bindings for pgstac