mirror of https://github.com/tqdm/tqdm.git
58 lines
1.9 KiB
Plaintext
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.
|