Skip to content

Development - Contributing

Issues and pull requests are more than welcome: github.com/sentinel-hub/titiler-openeo/issues

dev install

git clone https://github.com/sentinel-hub/titiler-openeo.git
cd titiler

python -m pip install -e ".[test,dev]"

Authentication Testing with Keycloak

The project includes a Keycloak instance for testing OpenID Connect authentication:

  1. Start the development environment:

    docker compose up
    

  2. Access Keycloak admin console at localhost:8082/admin

  3. Username: admin
  4. Password: admin

  5. Create a new client:

  6. Go to "Clients" → "Create client"
  7. Client ID: titiler-openeo
  8. Client type: OpenID Connect
  9. Click "Next"
  10. Enable "Client authentication"
  11. Enable "Authorization"
  12. Click "Save"

  13. Configure client settings:

  14. Valid redirect URIs: http://localhost:8081/* and http://localhost:8080/* for the openEO editor
  15. Web origins: http://localhost:8081 and http://localhost:8080 for the openEO editor
  16. Click "Save"

  17. Create a test user:

  18. Go to "Users" → "Add user"
  19. Username: test
  20. Email: test@example.com
  21. Click "Create"
  22. Go to "Credentials" tab
  23. Set password: test123
  24. Disable "Temporary"
  25. Click "Save password"

The Keycloak server will be available at localhost:8082 for testing OIDC authentication flows.

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

Run tests

python -m pytest --cov=titiler.openeo --cov-report=xml --cov-append --cov-report=term-missing

Docs

git clone https://github.com/sentinel-hub/titiler-openeo.git
cd titiler
python -m pip install -e ".[docs]"

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.):

```bash mkdocs gh-deploy -f docs/mkdocs.yml