Skip to main content

Installation

stac-catalog is a Python package that installs a stac-catalog command. The serving stack (pgSTAC, STAC FastAPI, TiTiler, STAC Browser) runs from Docker Compose and does not need to be installed on the host.

Prerequisites

  • Python 3.11+
  • Docker + Docker Compose — for the serving stack (see Getting started)
  • (Optional) a local Postgres is not required — the Compose stack ships its own pgSTAC database.

Install the package

From a checkout of the catalog repository:

git clone https://codeberg.org/stac-gis/catalog.git
cd catalog

Create a virtual environment and install the package in editable mode:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .

This gives you the core CLI with CSV support.

Optional extras

Install the package with the extras you need:

# Google Sheets metadata source
python -m pip install -e ".[gsheet]"

# Loading into pgSTAC (installs pypgstac)
python -m pip install -e ".[pgstac]"

# Both extras
python -m pip install -e ".[gsheet,pgstac]"

:::note pgstac extra is required for load / sync The load command shells out to pypgstac. If it is missing, you will get a clear error telling you to install the pgstac extra. :::

Development and tests

python -m pip install -e ".[gsheet,pgstac,test]"
pytest -q

Verify the install

stac-catalog --help
stac-catalog generate --help
stac-catalog load --help
stac-catalog sync --help

You should see the three subcommands — generate, load, and sync — each with their options. Ready to run your first catalog? Continue to Getting started.