Development Guidelines
Install
Clone this repository with git:
git clone git@github.com:crusaderky/xarray_extras.git
cd xarray_extras
Install anaconda or miniconda (OS-dependent)
conda env create -n xarray_extras --file ci/requirements.yml conda activate xarray_extras
Install C compilation stack:
- Linux
conda install gcc_linux-64
- MacOSX
conda install clang_osx-64
- Windows
You need to manually install the Microsoft C compiler tools. Refer to CPython documentation.
To keep a fork in sync with the upstream source:
cd xarray_extras
git remote add upstream git@github.com:crusaderky/xarray_extras.git
git remote -v
git fetch -a upstream
git checkout main
git pull upstream main
git push origin main
Test
Test using py.test
:
python setup.py build_ext --inplace
py.test xarray_extras
Code Formatting
xarray_extras uses several code linters (black, ruff, mypy), which are enforced by CI. Developers should run them locally before they submit a PR, through the single command
pre-commit run --all-files
This makes sure that linter versions and options are aligned for all developers.
Optionally, you may wish to setup the pre-commit hooks to run automatically when you make a git commit. This can be done by running:
pre-commit install
from the root of the xarray_extras repository. Now the code linters will be run each time
you commit changes. You can skip these checks with git commit --no-verify
or with
the short version git commit -n
.