Skip to main content

Update your version while having a drink

Project description

Build Status Version

Update your version while having a drink

Full documentation available at http://punch.readthedocs.io/en/latest/

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.

Installation

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

pip install punch.py

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 punch_config.py and punch_version.py files in the current directory.

Contributing

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.

History

1.6.0 (2019-04-12)

  • Merged PR #37: Adds a –quiet option to suppress all warnings

  • Added VCS information to –simulate

  • Tests updated to use latest pytest features and to remove deprecated features

  • Fixed the requirements setup (development.txt now inherits testing.txt)

  • Internal structure improvements to ease the development of new features like enhanced actions

1.5.0 (2018-05-03)

  • Fixed issue #31: Punch doesn’t add files to commits + make file additions configurable

  • Fixed part of issue #34: [git VCS] Additional branch options (by joshua-s)

  • Added ‘include_files’ and ‘include_all_files’ flags (issue #31)

  • Added ‘target_branch’ flag (issue #34)

1.4.5 (2018-04-20)

  • Using version.to_file in CLI (PR#33 by gthank)

1.4.4 (2018-04-18)

  • Fixed wrong behaviour of DateVersionPart (PR#32 by gthank)

1.4.3 (2018-03-21)

  • Fixed issue #23: Print a warning when no match is found in controlled files

  • Fixed issue #27: Possible typo in docs

  • Fixed issue #29: punch silently adds and commits unrelated untracked files to git

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.

Project details


Download files

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

Source Distribution

punch.py-1.6.0.tar.gz (33.7 kB view details)

Uploaded Source

File details

Details for the file punch.py-1.6.0.tar.gz.

File metadata

  • Download URL: punch.py-1.6.0.tar.gz
  • Upload date:
  • Size: 33.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for punch.py-1.6.0.tar.gz
Algorithm Hash digest
SHA256 4573332e0c2d359644726336920a52f2f024239032a8a7c5c80d16499b30c823
MD5 43d6aa9757d0145722253e4819894195
BLAKE2b-256 ebff60ba5ebc2fbbb4f8a0d70e229d7d6327f2f035502d089c1d71c909b0a596

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page