rustac 0.2.4

Command line interface for rustac
Documentation

rustac

GitHub Workflow Status docs.rs Crates.io Crates.io Contributor Covenant

Command Line Interface (CLI) for STAC, named rustac.

Installation

If you have DuckDB on your system:

cargo install rustac

[!TIP] Set DUCKDB_LIB_DIR to the directory containing your libduckdb. If you're on macos and using Homebrew, this might be export 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 the duckdb feature is enabled, geoparquet files
  • rustac serve: serves a STAC API
  • rustac translate: converts STAC from one format to another
  • rustac 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.