Simple semantic-version bumper in python that works.
Current version: 1.1.2
Compatible with Python >=2.7 and >=3.5
Bumping the (semantic) version of your software every time a release is done can be a tedious task, if you:
- Have the version written in various files, e.g.
setup.pyor a dedicated version file.
- Manage versioning with tags in GIT.
This little script automates this process for you.
Say you're using
git-flow and you've just merged a feature to your development branch. You can just checkout and pull it, and then do:
bumpytrack minor # or major if you have breaking changes, or patch if it's a simple bugfix
- Replace the version string in all relevant files (see config below).
- Commit those changes to GIT, taking care not to commit anything else.
- Create a GIT tag for this new version.
Now you're free to push, merge to master and deploy!
For the above version string replacements we'll need some config. This example should be autoexplicative. Create a
pyproject.toml or add your config to the one you already have in the root of your repository and you're good to go.
pip install bumpytrack
Then add a
pyproject.toml to the root of your repository (if you don't already have it) and configure it like this.
The script is really simple, and has a decent on-line documentation. Just do:
Some of the available options:
--current-version CURRENT_VERSION force current version instead using version in config file. --new-version NEW_VERSION force new version instead using version in config file. --git-commit GIT: Commit files with version replacements. --no-git-commit --git-tag GIT: Tag this reference with the new version. --no-git-tag --config-path CONFIG_PATH path to config file. Defaults to pyproject.toml in current directory. --verbose
You can also just peek at the code. Not much of it... it just adds one to some little numbers ;p
Make sure you have the lastest
pip install --update pip pipenv
To start developing, start the environment by:
pipenv shell pipenv install -d
To add an application dependency, add it in
setup.py and leave it with a loose version definition. Then, just do
pipenv install -e . to install the dependency. Pipenv locking mecanism will work as expected, since bumpytrack itself in in the
[packages] section of
Pipfile.lock and you'll find the deps there).
To add a development dependency, add it to
pipenv install -d <my-dependency>.
This way there's a single source of truth for package definition. No need to repeat the deps in
Dev tasks automation and publishing to PyPI
This project uses
pepython for automation. There you'll find tasks to build and publish the package to PyPI.
This project is licensed under the MIT License - see the
LICENSE file for details.
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 bumpytrack-1.1.2-py2-none-any.whl (6.4 kB)||File type Wheel||Python version py2||Upload date||Hashes View hashes|
|Filename, size bumpytrack-1.1.2.tar.gz (5.4 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for bumpytrack-1.1.2-py2-none-any.whl