Release Procedure

  1. Clone xskillscore from xarray-contrib, not a personal fork.

  2. Create a new branch release-v0.0.xx with the version for the release.

  • Update CHANGELOG.rst

  • Make sure all new changes, features are reflected in the documentation.

  1. Open a new pull request for this branch targeting main

  2. After all tests pass and the PR has been approved, merge the PR into main

  3. Tag a release and push to github:

    $ git pull
    $ git tag -a v0.0.xx -m "Version 0.0.xx"
    $ git push origin main --tags
  4. A GitHub action will publish the release on PyPI. If that fails you can manually do it with the following:

    $ git clean -xfd  # remove any files not checked into git
    $ python sdist bdist_wheel --universal  # build package
    $ twine upload dist/*  # register and push to pypi
  5. Update the stable branch (used by ReadTheDocs):

    $ git checkout stable
    $ git rebase main
    $ git push -f origin stable
    $ git checkout main
  6. Go to and add the new version to “Active Versions” under the version tab. Force-build “stable” if it isn’t already building.

  7. Update xskillscore conda-forge feedstock

  • Fork xskillscore-feedstock repository

  • Clone this fork and edit recipe:

    $ git clone
    $ cd xskillscore-feedstock
    $ cd recipe
    $ # edit meta.yaml
  • Update version

  • Get sha256 from for xskillscore

  • Fill in the rest of information as described here

  • Commit and submit a PR