Creates release commits directly in git, unleashes them on PyPI and pushes tags to github.
unleash handles the boring details of cutting from your Python package a release and publishing it. It assists you by updating version numbers, making sure the documentation builds, reminding you that you still need to include a LICENSE file and other things.
Once a release is made, it gets tagged in your git repository. unleash features a publish action to push the new tag to github.com and/or upload your package to PyPI
Unleash always works with commits instead of files in your working copy to ensure all your release are fully committed. It creates temporary checkouts or verifies directly from the commit’s tree. Never again will you have a bad release because you forgot to check-in that crucial file.
$ unleash --dry-run release Updating setup.py and package version (0.6.0) Updating documentation version (now 0.6.0) Marking release as released by unleash Checking documentation builds cleanly Verifying release can generate source distribution Verifying release can install into a virtualenv Running tox tests Updating setup.py and package version (0.6.1.dev1) Updating documentation version (now 0.6.1.dev1) Not saving created commits. Dry-run successful.
Note the --dry-run option which means that no alterations will be made to your repository. Otherwise, unleash will prompt you to confirm to create a new tag 0.6.0 for the release and will offer to advance your current branch to the next commit, in which all version numbers have been increase.
$ unleash --dry-run publish
To be written.
unleash uses a plugin-based architecture for all of its operations, this means it is fairly easy to add custom checks and steps for releases or publications if you desire so.
See the documentation at http://pythonhosted.org/unleash for details.