Home

Awesome

stac-rs

GitHub Workflow Status Crates.io Contributor Covenant

Ferris the crab holding the STAC logo

Command Line Interface (CLI), Rust libraries, and more for the SpatioTemporal Asset Catalog (STAC) specification.

Python

🦀 🤝 🐍

stacrs is a small, no-dependency Python library that uses stac-rs under the hood. It is meant to supplement (not replace) existing Python STAC tooling such as pystac and pystac-client. To install:

python -m pip install stacrs

Then:

import stacrs

stacrs.search_to("items-compressed.parquet",
    "https://landsatlook.usgs.gov/stac-server",
    collections="landsat-c2l2-sr",
    intersects={"type": "Point", "coordinates": [-105.119, 40.173]},
    sortby="-properties.datetime",
    max_items=1000,
    format="parquet[snappy]",
)

See the Python documentation for more information.

Command line interface

Our command line interface (CLI) can query STAC APIs, validate STAC, and more. Install:

pip install stacrs-cli
# or
cargo install stac-cli

Then:

$ stacrs search https://landsatlook.usgs.gov/stac-server \
    -c landsat-c2l2-sr --intersects \
    '{"type": "Point", "coordinates": [-105.119, 40.173]}' \
    --sortby='-properties.datetime' \
    --max-items 1000 \
    -f 'parquet[snappy]' \
    items.parquet

Crates

This monorepo contains several crates:

CrateDescriptionBadges
stacCore data structures and I/Odocs.rs <br> Crates.io
stac-apiData structures for the STAC API specificationdocs.rs <br> Crates.io
stac-extensionsBasic support for STAC extensionsdocs.rs <br> Crates.io
stac-cliCommand line interfacedocs.rs <br> Crates.io
stac-serverSTAC API server with multiple backendsdocs.rs <br> Crates.io
pgstacBindings for pgstacdocs.rs <br> Crates.io
stac-duckdbExperimental client for duckdbdocs.rs <br> Crates.io

Development

See CONTRIBUTING.md for information about contributing to this project. See RELEASING.md for a checklist to use when releasing a new version.

License

stac-rs is dual-licensed under both the MIT license and the Apache license (Version 2.0). See LICENSE-APACHE and LICENSE-MIT for details.

<!-- markdownlint-disable-file MD033 -->