Skip to content

Contributing

Thank you for your interest in improving point-collocation!

Set Up a Dev Environment

git clone https://github.com/fish-pace/earthaccess_matchup.git
cd earthaccess_matchup
pip install -e ".[earthaccess,swath,dev]"

Install additional test dependencies required by some test modules (e.g. test_adapters.py needs netcdf4; h5netcdf and dask are used by integration tests):

pip install netcdf4 h5netcdf dask

Run Tests

python -m pytest tests/ --ignore=tests/test_adapters.py

To include the adapter tests (requires a running netCDF4 installation):

python -m pytest tests/

Code Style

The project uses Ruff for linting and formatting:

ruff check src/
ruff format src/

Type checking with mypy:

mypy src/

Run Documentation Locally

Install docs dependencies:

pip install -e ".[docs]"

Serve locally with live reload:

mkdocs serve

Then open http://127.0.0.1:8000 in your browser.

Build the Docs

mkdocs build

Output is written to the site/ directory (excluded from version control).

Submitting a PR

  1. Fork the repository and create a feature branch.
  2. Make your changes with tests where appropriate.
  3. Run ruff check, mypy, and pytest before opening a PR.
  4. Open a pull request against main.