tqdm/RELEASE

58 lines
1.9 KiB
Plaintext

HOW TO MANAGE A NEW RELEASE
=============================
This file is intended to the project's maintainers and it describes
how to update, build and upload a new release.
SEMANTIC VERSIONING
----------------------------------
The tqdm repository managers should regularly bump the version number in
the VERSION file to follow the [Semantic Versioning](http://semver.org/)
convention.
Tools can be used to automate this process, such as
[bumpversion](https://github.com/peritus/bumpversion) or
[python-semanticversion](https://github.com/rbarrois/python-semanticvers
ion/) to automate this task.
The managers should take care of this instead of users to avoid PR
conflicts solely due to the VERSION file bumping.
BUILDING A RELEASE AND UPLOADING TO PYPI
---------------------------------------------------------------------
First, we need to check the setup.py and MANIFEST.in files, which define
the packaging process and the infos that will be uploaded to pypi.
You can check the result easily by using the following commands:
```
python setup.py develop --uninstall
python setup.py develop
```
Secondly, we need to build tqdm into a distributable python package:
```
python setup.py sdist --formats=gztar,zip bdist_wininst --plat-name=win32
python setup.py sdist bdist_wheel --plat-name=win32
```
This will generate several builds in the dist/ folder.
Finally, we can upload everything to pypi. Uploading to pypi can be done
easily using the [twine](https://github.com/pypa/twine) module:
```
twine upload dist/*
```
NOTE: you can also test on the pypi test servers `testpypi.python.org/pypi`
before the real deployment. Note also that in case of a mistake, you can delete
an uploaded release on pypi, but you cannot re-upload another with the same
version number!
Also, the new release can be added to the Github by creating a new release from
the web interface.