build
python3 setup.py sdist bdist_wheel
travis encrypt
travis encrypt my_password --add deploy.password
bump2version
bumpversion major
bumpversion minor
bumpversion patch
git tag
git tag -a 'Release_1_0' -m 'Tagged basic string operation code' HEAD
# or tag a specific commit with id
git tag -a 'Release_1_0' -m 'Tagged basic string operation code' 521747298a3790fde1710f3aa2d03b55020575aa
git push with tags
git push --follow-tags
git global config to push always with tags
git config --global push.followTags true
upload to testPyPI
python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
upload to pypi
twine upload dist/*
cookiecutter-pypackage https://cookiecutter-pypackage.readthedocs.io/en/latest/tutorial.html