Contributing#

Local Development#

Set up#

This project is developed locally and in CI with pixi, a relatively new approach to conda package management and task running.

** Note **

Refer to pixi.toml#/$schema for the current development version

If using mamba or conda (or some other $CONDA_EXE):

mamba install -c conda-forge pixi==0.26.1  # replace `mamba` with your CONDA_EXE
Why pixi?

pixi provides the necessary primitives to:

  • capture complex environments, with python and other runtimes

  • install environments quickly, and cache well, but only when needed

  • run tasks, in the right environment, in the right order

  • skip tasks that have already run, and dependencies have not changed


Tasks and Environments#

See all the project info:

pixi info

See just the available top-level pixi tasks:

pixi task list

See just the tasks that run in e.g. the test environment:

pixi task list -e test

Running Tasks#

Most tasks run just fine:

pixi run fix
pixi run build
pixi run lint
pixi run lab
pixi run check
pixi run docs

Some tasks need to have an -e {environment} provided, for example:

pixi run -e test        test   # test against the latest python and packages
pixi run -e test-oldest test   # test against the oldest supported python and packages