Easy version bumping
Project description
ebump
Easy version bumping CLI for python projects.
ebump is a simple (opinionated) wrapper around the
bumpver library that provides an
easy-to-use CLI for version bumping in Python projects. It focuses on simplicity
and ease of use, making it ideal for developers, CI/CD pipelines, and scriptsr
Quick showcase
> ebump # 1.0.0 Shows current version (same as `uv version --short`)
> ebump patch # 1.0.0 -> 1.0.1 Bump patch
> ebump minor # 1.0.1 -> 1.1.0 Bump minor
> ebump major # 1.5.4 -> 2.0.0 Bump major
> ebump minor beta # 1.0.0 -> 1.1.0-beta0 Bump minor and add beta tag
> ebump tag # 1.0.0-beta0 -> 1.0.0-beta1 Bump current tag number
> ebump alpha # 1.0.0-alpha4 -> 1.0.0-alpha5 Bump tag number if already at tag
> ebump beta # 1.0.0-alpha5 -> 1.0.0-beta0 Bump to tag if not already at that tag
> ebump tag beta # 1.0.0-alpha5 -> 1.0.0-beta0 Same as 'ebump beta'
> ebump tag beta # 1.0.0-beta0 -> 1.0.0-beta1 Same as 'ebump beta'
> ebump final # 1.0.0-rc2 -> 1.0.0 Bump to final
> ebump final # 1.0.0 -> 1.0.0 If already at final do nothing (ensures final release)
Bad examples:
> ebump minor alpha beta # Error: You can only specify one part to bump and/or one tag
> ebump patch minor # Error: You can only specify one part to bump
> ebump alpha beta # Error: You can only specify one tag to bump
# If current version has no tag
> ebump tag # Error: No tag found to bump
Any combination that violates the bumping rules will throw an error. E.g., trying to bump alpha while being at beta.
You can also use the --dry-run to see what the new version would be without actually changing it:
> ebump minor --dry-run # 1.0.0 -> 1.1.0 (no change to version)
Instalation / Usage
You can use ebump directly via uvx (recommended):
uvx ebump [PARAMS ...]
Or install it via pip:
pip install ebump
Why ebump?
Design differences with bumpver CLI:
-
Bumping
finaltag doesn't throw errors if the version is already final.Useful for CI/CD pipelines where you want to ensure the version is final without worrying about its current state.
-
Bumping one of the main version parts (
patch,minor,major) automatically resets any pre-release tag tofinalunless you explicitly specify a new tag in the same command.If you bump the
minorversion from1.0.0-beta2, it will become1.1.0instead of1.1.0-final. You can still set a pre-release tag in the same command (e.g.,ebump minor betato get1.1.0-beta0). -
Simplified CLI with fewer options, focusing on the most common use cases.
-
Can be executed in any directory of the project, root is automatically detected.
What ebump is NOT
- It is not a replacement for
bumpverlibrary. It is a wrapper around it. You can still usebumpverlibrary directly for more complex use cases. - It does not aim to cover all use cases. It focuses on simplicity and ease of use.
🤝 Contributing
Contributions are welcome! Please ensure all QA checks and tests pass before opening a pull request.
🚀 Project starter provided by Cookie Pyrate
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ebump-0.1.2.tar.gz.
File metadata
- Download URL: ebump-0.1.2.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6473fdf8c4fe9705ef06d6f3a0fdef8e43f7499bca09e0b0b1529ed5cce2e23e
|
|
| MD5 |
cb8e2e7480bc157e230b80ac8b32c8a9
|
|
| BLAKE2b-256 |
2b38e05d5f07d3870d2679970e13be393f656f999bb3e126d416e9231a6c0dcf
|
File details
Details for the file ebump-0.1.2-py3-none-any.whl.
File metadata
- Download URL: ebump-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6528cb2315d7e6df2f75c2e73a92cb6a10d5d86951e073b9e5e15103a4bffe9a
|
|
| MD5 |
34407728d27338a2a8ed213b61a60cec
|
|
| BLAKE2b-256 |
e6fea0778687ddd578ec1edb45302b0550ec9ca2d0c30079599e88522b301ce2
|