-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Preparing an Add on release
-
Make a PyPI and PyPI Test account if you do not have them yet and ask an administrator for permission to upload on PyPI.
-
Make sure that you have your usernames and passwords for PyPI stored in the
~/.pypirc
file which should look like this:[distutils] index-servers= pypi testpypi [testpypi] repository: https://test.pypi.org/legacy/ username: <your username> password: <your password> [pypi] username: <your username> password: <your password>
-
Install Twine:
pip install twine
if you do not have it installed yet.
-
Change a version in a
setup.py
-
Build a documentation
cd doc make html cd ..
-
Run
python setup.py sdist python setup.py bdist_wheel
-
Test release with installing
dist/<filename>.tar.gz
:pip install <path to the addon>/dist/<filenam>.tar.gz
-
Make a release:
twine upload dist/<latest tar.gz> dist/<latest .whl>
-
Make a new tag on the Github:
git add setup.py git commit -m "Release <release number>" git push upstream master git tag <release number> git push upstream --tags
-
For add-ons available at conda-forge: Make a pull request on the appropriate conda-forge repository.
-
Update stable and master from upstream:
git checkout stable git pull upstream stable git checkout master git pull upstream master
-
Set
IS_RELEASED = True
insetup.py
. -
Build a documentation
cd doc make html cd ..
-
Run
python setup.py sdist python setup.py bdist_wheel
-
Test release with installing
dist/<filename>.tar.gz
:pip install <path to the addon>/dist/<filenam>.tar.gz
-
Make a release:
twine upload dist/<latest tar.gz>
-
Update the changelog:
bash scripts/create_changelog.sh
and incorporate the output in the CHANGELOG.md file. Do not forget to update links a the bottom of the file.
-
Make a new tag on the Github:
git add setup.py CHANGELOG.md git commit -m "Release <release number>" git push upstream master git tag <release number> git push upstream --tags
-
Update the stable branch:
git checkout stable git merge <release number> git push upstream stable git checkout master
-
Set
IS_RELEASED = False
and update version (to dev) insetup.py
. -
Set
setup.py
to dev version:git add setup.py git commit -m "Bump version to <development version>" git push upstream master
-
For add-ons available at conda-forge: Make a pull request on the appropriate conda-forge repository. For Text, specifically, the bot automatically creates a PR, which you can merge as a maintainer in a few hours after the upload on PyPi.