Development

The code is hosted on GitHub: ecmwf/earthkit-climate

Environment

This project uses Pixi for dependency and environment management. It provides fast, reproducible environments and replaces Conda-based workflows.

Install Pixi following the official instructions, then run:

pixi install

This command installs all dependencies as defined in pyproject.toml and pixi.lock.

Warning

We are not yet commited to maintaining a Pixi configuration long-term.

Task runners

This project uses pixi tasks to manage development workflows, replacing the legacy Makefile.

  • Quality Assurance: Run pre-commit hooks to ensure code quality.

    pixi run qa
    
  • Unit Tests: Run the test suite using pytest.

    pixi run unit-tests
    
  • Type Checking: Run static type analysis with mypy.

    pixi run type-check
    
  • Build Documentation: Build the Sphinx documentation. Note that this task runs in the docs environment.

    pixi run -e docs docs-build
    
  • Sync with ECMWF template:

    pixi run template-update