Issues and pull requests are more than welcome: https://github.com/developmentseed/titiler/issues
dev install
git clone https://github.com/developmentseed/titiler.git
cd titiler
python -m pip install \
pre-commit \
-e src/titiler/core["test"] \
-e src/titiler/extensions["test,cogeo,stac"] \
-e src/titiler/mosaic["test"] \
-e src/titiler/application["test"]
pre-commit
This repo is set to use pre-commit
to run isort, flake8, pydocstring, black ("uncompromising Python code formatter") and mypy when committing new code.
pre-commit install
Each titiler
's modules has its own test suite which can be ran independently
# titiler.core
python -m pytest src/titiler/core --cov=titiler.core --cov-report=xml --cov-append --cov-report=term-missing
# titiler.extensions
python -m pytest src/titiler/extensions --cov=titiler.extensions --cov-report=xml --cov-append --cov-report=term-missing
# titiler.mosaic
python -m pytest src/titiler/mosaic --cov=titiler.mosaic --cov-report=xml --cov-append --cov-report=term-missing
# titiler.application
python -m pytest src/titiler/application --cov=titiler.application --cov-report=xml --cov-append --cov-report=term-missing
git clone https://github.com/developmentseed/titiler.git
cd titiler
python -m pip install -r requirements/requirements-docs.txt
Hot-reloading docs:
mkdocs serve -f docs/mkdocs.yml
To manually deploy docs (note you should never need to do this because Github Actions deploys automatically for new commits.):
mkdocs gh-deploy -f docs/mkdocs.yml
This is a checklist for releasing a new version of titiler.
-
Create a release branch named
release/vX.Y.Z
, whereX.Y.Z
is the new version -
Make sure the Changelog is up to date with latest changes and release date set
-
Update
version: {chart_version}
(e.g:version: 1.1.6 -> version: 1.1.7
) indeployment/k8s/charts/Chart.yaml
-
Run
bump-my-version
to update all titiler's module versions:bump-my-version bump minor --new-version 0.20.0
-
Push your release branch, create a PR, and get approval
-
Once the PR is merged, create a new (annotated, signed) tag on the appropriate commit. Name the tag
X.Y.Z
, and includevX.Y.Z
as its annotation message -
Push your tag to Github, which will kick off the publishing workflow
-
Create a new release targeting the new tag, and use the "Generate release notes" feature to populate the description. Publish the release and mark it as the latest