Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Update your version while having a drink

Project Description

Update your version while having a drink

Full documentation available at

About punch

Punch is a configurable version updater, and you can use to automate the management of your project’s version number.

Punch stores the version of your project in its own file. Each time you need to update it, Punch runs through the configured files and replaces the old version with the new one. Additionally, Punch may also automatically commit the version change on your VCS of choice.

This project has been heavily inspired by bumpversion, and I want to thank Filip Noetzel, the author of that project for his work and the inspiring ideas.


Punch is available for both Python 2 and Python 3 through pip. Just create a virtual environment and run

pip install

To start working with Punch you need a configuration file and a version file. You may ask Punch to create the two files for you with reasonable starting values with the flag --init

punch --init

which will create the and files in the current directory.


See the CONTRIBUTING file for detailed information. Please remember that this project is actively developed in the develop branch, so be sure to work there if you try to implement new feature of fix bugs.


1.4.2 (2017-10-05)

  • Fixed error with months and days ending with 0

1.4.1 (2017-09-16)

  • Minor fixes to the date part representation

1.4.0 (2017-06-07)

  • Support for actions to specify complex behaviours
  • PEP8 compliance global review

1.3.2 (2017-03-29)

  • Fixed CLI script installation on Windows (by jobec)

1.3.1 (2017-01-23)

  • Readthedocs documentation link added to README

1.3.0 (2017-01-20)

  • Date-base version part added (with support for CalVer syntax)

1.2.0 (2016-09-09)

  • Mercurial support added by Michele D’Amico

1.1.2 (2016-06-09)

  • Fixed issue #7

1.1.1 (2016-06-01)

  • Fixed issues #3, #4, #5

1.1.0 (2016-05-26)

  • Added –set-part and –reset-on-set flags

1.0.2 (2016-05-24)

  • Fixed the PyPI badge in the documentation
  • Added some examples both in documentation and in the test suite

1.0.1 (2016-05-21)

  • Last minute change of package name on PyPI due to a name clash.

1.0.0 (2016-05-19)

  • First release on PyPI.
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (27.8 kB) Copy SHA256 Checksum SHA256 Source Oct 5, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting