Element84 / pgstac

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 function and schema to build highly performant database for Spatio-Temporal Asset Catalog (STAC). The project also provide pypgstac python module to help with the database migration and documents ingestion (collections and items).

PgSTAC provides functionality for STAC Filters and CQL2 search along with utilities to help manage 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. As PgSTAC is fully within the database, it does not provide an HTTP facing API. The Stac FastAPI PgSTAC backend and Franklin can be used to expose a PgSTAC catalog. It is also possible to integrate PgSTAC with any other language that has PostgreSQL drivers.

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

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

Project structure

/
 ├── src/pypgstac           - pyPgSTAC python module
 ├── src/pypgstac/tests/    - pyPgSTAC tests
 ├── scripts/               - scripts to set up the environment, create migrations, and run tests
 ├── src/pgstac/sql/        - PgSTAC SQL code
 ├── src/pgstac/migrations/ - Migrations for incremental upgrades
 └── src/pgstac/tests/      - test suite

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

License:MIT License


Languages

Language:PLpgSQL 97.9%Language:Python 1.7%Language:Shell 0.4%Language:Dockerfile 0.0%