We follow semantic versioning, e.g., v1.0.0. A major version causes incompatible API changes, a minor version adds functionality, and a patch covers bug fixes.
Create a new branch
release-v1.0.0with the version for the release.
Make sure all new changes and features are reflected in the documentation.
Open a new pull request for this branch targeting main
After all tests pass and the PR has been approved, merge the PR into
Tag a release and push to github:
$ git tag -a v1.0.0 -m "Version 1.0.0" $ git push upstream main --tags
We use Github Actions to automate the new release being published to PyPI. Simply confirm that the new release is reflected at https://pypi.org/project/climpred/. There is typically a delay, but check Github Actions if there’s an issue, and otherwise you can manually do it with the following:
$ git clean -xfd # remove any files not checked into git $ python setup.py sdist bdist_wheel --universal # build package $ twine upload dist/* # register and push to pypi
Next, update the stable branch with
main. This will trigger a stable build for ReadTheDocs:
$ git checkout stable $ git rebase main $ git push -f upstream stable $ git checkout main
Go to https://readthedocs.org and add the new version to “Active Versions” under the version tab. Force-build “stable” if it isn’t already building.
Update climpred conda-forge feedstock
Clone this fork and edit recipe:$ git clone firstname.lastname@example.org:username/climpred-feedstock.git $ cd climpred-feedstock $ cd recipe $ # edit meta.yaml
Get sha256 from pypi.org for climpred
requirements.txtfrom the main
climpredrepo is accounted for in
meta.yamlfrom the feedstock.
Fill in the rest of information as described here
Commit and submit a PR