pgstac

(β˜… 221)

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

  • .dockerignore
  • .editorconfig
  • .env.example
  • .gitignore
  • .pre-commit-config.yaml
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • docker-compose.yml
  • LICENSE
  • README.md

# Installation Guide

1. Get the code
git clone https://github.com/stac-utils/pgstac

Downloads the entire project code from GitHub to your computer.

cd pgstac

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose up -d --build

Builds and starts all defined containers (server, database, etc.) at once, in the background.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

3. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
pip install .

Installs the package published on PyPI directly β€” no need to clone the source.

jupyter notebook

Launches Jupyter in your browser so you can open and run the notebook (.ipynb) files.

βœ… If it runs without errors and prints output in the terminal, it worked.

4. Rust

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Rust (rustup) Installing via rustup also installs cargo.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd src/pgstac-rs

This project's files live in a subfolder, so move into it first.

cargo build --release

Compiles the Rust project.

cargo run

Builds and then immediately runs the program.

βœ… If cargo build finishes without errors, it worked. The executable is created under target/.
// repository documentation