Maintainers Guide

Making a release

  1. Update CHANGELOG.rst.

  2. Push it to GitHub, create a release tagging it.

  3. Tagging it on GitHub will automatically deploy it to PyPi, which in turn will create a PR for the conda-forge feedstock. Merge that PR.

  4. Check that:

Useful things

  • If there were changes to README, check it with:

    python setup.py --long-description | rst2html.py --no-raw > index.html
    
  • If unsure, test it first manually on testpypi (requires ~/.pypirc):

    ~/anaconda3/bin/twine upload dist/* -r testpypi
    
  • If unsure, test the test-pypi for conda if the skeleton builds:

    conda skeleton pypi --pypi-url https://test.pypi.io/pypi/ empymod
    
  • If it fails, you might have to install python3-setuptools:

    sudo apt install python3-setuptools
    

CI

  • Testing on GitHub Actions includes:

    • Tests using pytest

    • Linting / code style with pytest-flake8

    • Figures with pytest-mpl

    • Ensure all http(s)-links work (sphinx linkcheck)

  • Line-coverage with pytest-cov on Coveralls

  • Code-quality on Codacy

  • Manual on ReadTheDocs, including the Gallery (examples run each time).

  • DOI minting on Zenodo

  • Benchmarks with Airspeed Velocity (asv) [currently manually]

  • Automatically deploys if tagged: