Skip to content

Development - Contributing

Issues and pull requests are more than welcome: github.com/stac-utils/titiler-pgstac/issues

We recommand using uv as project manager for development.

See docs.astral.sh/uv/getting-started/installation/ for installation

dev install

git clone https://github.com/stac-utils/titiler-pgstac.git
cd titiler-pgstac

uv sync

You can then run the tests with the following command:

uv run pytest --cov titiler.pgstac --cov-report term-missing

This repo is set to use pre-commit to run isort, flake8, pydocstring, black ("uncompromising Python code formatter") and mypy when committing new code.

uv run pre-commit run --all-files

Commit messages and releases

Releases are automated with release-please, which reads the Conventional Commit messages merged to main. Use them for your commits and your PR title, e.g. fix: handle empty collections or feat: add a filter option:

  • fix:, perf:, deps:, revert: and docs: lead to a patch release, feat: to a minor one, and a breaking change (feat!: or a BREAKING CHANGE: footer) to a major one.
  • chore:, ci:, test:, build:, refactor: and style: don't trigger a release on their own.
  • release-please keeps a release PR open with the next version; merging it tags the release and publishes it.
  • release-please also writes CHANGES.md from these messages, so don't edit it in your PR. Maintainers can adjust the wording in the release PR just before merging it.