Skip to content

Release workflow

Michael Deistler edited this page Oct 11, 2024 · 2 revisions

Decide what will be the upcoming version number

  • Jaxley currently uses the Semver 2.0.0 convention.
  • Edit the version number in the tuple at jaxley/jaxley/__version__.py.

Collect a list of relevant changes

  • Edit CHANGELOG.md, add a new version number header and report changes below it.
  • Use one line per change, include links to the pull requests that implemented each of the changes.
  • Credit contributors!
  • If there are new package dependencies or updated version constraints for the existing dependencies, add/modify the corresponding entries in pyproject.toml.

Run tests locally and make sure they pass

  • Run the full test suite, including slow tests.

Upload via the command line.

You need access to the Jaxley PyPi account for doing this (talk to the maintainers).

  • Install build and twine: pip install build twine
  • Use the build module to create the source distribution (.tar.gz) and the wheel (.whl) files:
    • python -m build
    • This will generate distribution archives (usually located in the dist/ directory).
  • Once the package is built, you can upload it to PyPI using twine:
    • twine upload dist/*

Update the documentation to the new version

  • The mkdocs docs available at jaxleyverse.github.io/jaxley/ are built automatically. You do not have to do anything. We will remove those docs in the future (they are only there because they are linked in the paper).
  • You have to build the readthedocs docs manually. In particular, on the readthedocs website create a new version and build it.