Skip to content

rustac

rustac logo

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 for creating, searching, and otherwise working with STAC.

Tip

We pronounce rustac "ruh-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.

import rustac

items = rustac.search("s3://bucket/items.parquet", ...)

Check out the rustac-py docs for more.

Why are rustac and rustac-py in two separate repos?

Couple of reasons:

  1. rustac is intended to be useful on its own. It's not just the engine for some Python bindings.
  2. 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

Acknowledgements

We'd like to thank @jkeifer, @parksjr, and @Xenocide122 (all from @Element84) for creating the rustac logo from an AI-generated image from this prompt:

There is a library for working with STAC metadata that is written in rust called rustac: https://github.com/stac-utils/rustac. That name sounds like the word "rustic", and is meant to envoke (sic) an image of "a cabin and a glass of neat whisky".