Contributing¶
AerEO is a Polylith monorepo managed with uv and uv poly.
Development setup¶
git clone https://github.com/frandorr/aereo.git
cd aereo
uv sync
Run tests¶
uv run pytest test/ -v --tb=short
Lint and type check¶
uv run ruff check .
uv run basedpyright
Build the docs¶
uv sync --extra docs
uv run mkdocs serve
The docs include the example notebooks under examples/. They are copied into docs/examples/ by docs/hooks/copy_notebooks.py and rendered with mknotebooks. Notebooks are not executed during the build; the rendered pages rely on the outputs already saved in the notebooks.
Commit style¶
This project uses Conventional Commits. Examples:
feat(search): add Earthaccess search provider
docs(tutorial): add Sentinel-3 NDVI notebook
fix(grid): handle empty intersection results
Code style¶
- Google-style docstrings.
- Use
| Noneinstead ofOptional. - Type hints on all public functions.
- Do not use
assertfor runtime input validation; raise explicit exceptions.