This documentation provides a guide for pymatgen administrators.
The general procedure for releasing pymatgen comprises the following steps:
- Make sure all CI checks are green. We don't want to release known bugs.
- Generate and commit the changelog and HTML docs.
- Tag and push the clean release commit.
- Publish the GitHub release from that tag.
- Make sure the release action publishes the new version to PyPI and conda-forge runs to completion.
First update and commit the changelog and generated HTML docs. The autogenerated changelog is simply a list of commit messages since the last version. Make sure to edit the log for brevity and to attribute significant features to appropriate developers:
uv run invoke update-changelog
uv run invoke make-doc
git add docs
git commit -m "Update changelog and docs"Then create and push the release tag, and create its GitHub Release:
uv run invoke releaseThe package version is derived from the tag, so the tagged commit must have a clean working tree. The GitHub Release workflow builds and publishes the artifacts. Double check that the releases are properly done on PyPI.