Skip to content

Repository files navigation

PostgreSQL schema and functions for Spatio-Temporal Asset Catalog (STAC)

Test Package version License


Documentation: https://stac-utils.github.io/pgstac/

Source Code: https://github.com/stac-utils/pgstac


PgSTAC is a set of SQL functions and schema to build highly performant databases for Spatio-Temporal Asset Catalogs (STAC). The project also provides pgstac-migrate (a focused migration package), the pgstac Rust CLI (loading, search, queryables, extensions, maintenance), and pypgstac-rs (a Rust-backed Python read/write extension for stac-fastapi-pgstac).

PgSTAC provides functionality for STAC Filters, CQL2 search, and utilities to help manage the indexing and partitioning of STAC Collections and Items.

PgSTAC is used in production to scale to hundreds of millions of STAC items. PgSTAC implements core data models and functions to provide a STAC API from a PostgreSQL database. PgSTAC is entirely within the database and does not provide an HTTP-facing API. The STAC FastAPI PgSTAC backend and Franklin can be used to expose a PgSTAC catalog. Integrating PgSTAC with any other language with PostgreSQL drivers is also possible.

PgSTAC Documentation: https://stac-utils.github.io/pgstac/pgstac

Rust client & CLI Documentation: https://stac-utils.github.io/pgstac/pgstac-rs

Migrating off pyPgSTAC: https://stac-utils.github.io/pgstac/pypgstac

pgstac-migrate package: src/pgstac-migrate

Project structure

/
 ├── src/pgstac/sql/        - PgSTAC SQL code
 ├── src/pgstac/migrations/ - Migrations for incremental upgrades
 ├── src/pgstac/tests/      - PgSTAC SQL test suite
 ├── src/pgstac-migrate/    - pgstac-migrate migration package
 ├── src/pgstac-rs/         - Rust crate: pgstac CLI + pgstac Python extension
 └── scripts/               - scripts to set up the environment, create migrations, and run tests

Contribution & Development

See CONTRIBUTING.md

License

See LICENSE

Authors

See contributors for a listing of individual contributors.

Changes

See CHANGELOG.md.

About

Schema, functions and a python library for storing and accessing STAC collections and items in PostgreSQL

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages