Skip to main content

A plugin for PDM providing the ability to modify the version according to PEP440

Project description

pdm-bump

PyPI pdm-managed

A small PEP440 compliant bump utility for the Python development master

Why ?

As of PEP621, the pyproject.toml supports project metadata including a project version. If you are using the PDM build backend (according to PEP517), you can also use a file provider that contains your version, which is often referred to as dynamic versions.

The project version itself must comply to PEP440, which tells us, that it must consist of

  • an optional epoch
  • a mandatory major version part
  • a mandatory minor version part
  • a mandatory micro version part
  • an optional pre-release part supporting alpha, beta or release-candidate part.

Tools like bumpversion or bump2version use their own configuration an their own configuration and might not consider the PEP440 specifications.

Installation

You can install it using either pip (pip install [--user] pdm-bump) or using the pdm cli (pdm plugin add [--pip-args=--user] pdm-bump).

Usage

You can use it the following way:

$ grep version= pyproject.toml
version=0.1.0
$ pdm bump pre-release --pre alpha # creates 0.1.1a1
$ pdm bump pre-release --pre beta # creates 0.1.1.b1
$ pdm bump pre-release --pre release-candidate # creates 0.1.1rc1
$ pdm bump no-pre-release # creates 0.1.1
$ pdm bump micro # creates 0.1.2
$ pdm bump minor # creates 0.2.0
$ pdm bump major # creates 1.0.0

VCS based actions

NOTE: Currently, only git is supported as VCS provider.

You can create tags based on your pyproject.toml version (or dynamic version) using the following command.

$ pdm bump tag # Creates a git tag with a leading v

Contributing

Feel free to submit issues and pull requests. Contributions are welcome.

Pre-checks

  1. Tests: To run the tests for your current checks, run pdm run pytest.
  2. Tox: If you are using pyenv you can use pdm run tox to run the tests for all supported python versions.
  3. Code-Style: You can use pdm check-style to check code format.
  4. Format: You can use pdm format to format your code.
  5. Commit messages: You can run pdm check-commits to run gitlint across your commit messages.

Before opening a Pull Request, make sure, that the quality gates should succeed.

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

pdm-bump-0.6.8.tar.gz (23.9 kB view hashes)

Uploaded Source

Built Distribution

pdm_bump-0.6.8-py3-none-any.whl (24.5 kB view hashes)

Uploaded Python 3

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