Skip to main content

A tool to bump the version in setup.py in python projects

Project description

Bump-Setup

@readwithai - X - blog - machine-aided reading - 📖⚡️🖋️

A command-line tool to bump the version in-place in setup.py or pyproject.yaml for python projects. It can bump major, minor or patch versions.

Most of the value for this is dealing with setup.py. If you only use pyproject.yaml exclusively I might recommend creating your own script since this is a very straight forward task, but this code works for this basic case.

Motivaiton

I got bored of bumping version numbers by hand in files and bumpversion didn't immediately do what I wanted so I made this tool.

Alternatives and prior work

There is a tool called bumpversion which is quite similar but wants to take the files that get modified and also seems to want you to specify the file. bumpver also does something similar to this - and greps through your codebase but the documentation is more than a couple of lines and it seems to require you to maintain separate settings in pyproject.toml - this is meant to 'just work' most of th time.

Installation

You can install bump-setup using pipx:

pip install bump-setup

Usage

To bump the version in setup.py, run the following command:

bump-setup <major|minor|patch>

Examples

bump-setup major  # Increments the major version
bump-setup minor  # Increments the minor version
bump-setup patch  # Increments the patch version

Attribution

This uses the python tree-sitter and tree-sitter-python libraries to modify and parse source code while leaving whitespace intact. I did some vibe coding because I am lazy. I'm not sure it helped much since I then had to fix a bunch of bugs by hand!

About me

I am @readwithai. I create tools for reading, research and agency sometimes using the markdown editor Obsidian.

I also create a stream of tools that are related to carrying out my work. There are various python tools here.

I write about lots of things - including tools like this - on X. My blog is more about reading and research and agency.

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

bump_setup-1.3.0.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file bump_setup-1.3.0.tar.gz.

File metadata

  • Download URL: bump_setup-1.3.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for bump_setup-1.3.0.tar.gz
Algorithm Hash digest
SHA256 a029242903f2315ed5685dd1987ba684ca71739d8bd6e92d611271207faeabf3
MD5 d0d19f392aeccf6ae6795c00c2c479f2
BLAKE2b-256 b7bfd2dadf376690d3be0d53036463275caf2e7b5a467350091ebc297f87bafd

See more details on using hashes here.

Supported by

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