Publish python package to PyPI and Github
publish is a tool to package and release a python project. It will create a changelog and upload artifacts to Github and PyPI.
It is created for and by the FIAAS project, and used for most of our projects.
In order to use publish, you must first install it:
pip install publish
export GITHUB_TOKEN=gh-token export TWINE_USERNAME=pypi-user export TWINE_PASSWORD=pypi-pass
In order to know where to upload the artifacts, you must specify an organization, and a repository:
publish fiaas k8s
Before uploading anything, publish will verify that the current checkout is suitable to be released, and checks the following items:
- Are all files either ignored or in version control?
- Is every change committed?
- Is the currently checked out code tagged with an annotated tag?
- Does that tag use the convention v<major>.<minor>.<bugfix>?
If the answer to all of these is yes, the name of the tag is used as the version to release. A changelog is generated from the git log, source tarballs and wheels are built, the release is created in Github and PyPI, and the files are uploaded.
When uploading a release to Github, the changelog is attached to the release automatically.
In order for the changelog to be attached to the release on PyPI, it needs to be included in the long description generated by setup.py. To help with this, the changelog is written to a file, and the name of the file is available in an environment variable called CHANGELOG_FILE. Append the contents of this file to your long description, and it will be included in the description on PyPI.
Changes since last version
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size publish-0.3.2-py2.py3-none-any.whl (11.0 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
|Filename, size publish-0.3.2.tar.gz (15.1 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for publish-0.3.2-py2.py3-none-any.whl