Skip to main content

Bump Python package dependencies in pyproject.toml

Project description

bump-dependencies

Bump your Python package dependencies

Update dependency specifiers in pyproject.toml to latest versions


Supported Python Versions


About:

bump_dependencies is a Python CLI program that generates a new packaging configuration file (pyproject.toml) file with updated package dependencies.

Requirements:

  • Python 3.10+

Installation:

Install from PyPI:

pip install bump-dependencies

CLI Options:

usage: bump_dependencies [-h] [--dry-run] [--path PATH]

options:
  -h, --help   show this help message and exit
  --dry-run    don't write changes to pyproject.toml
  --path PATH  path to pyproject.toml (defaults to current directory)

Usage:

Install from PyPI with pipx, Run:

pipx install bump-dependencies
bump_dependencies

Clone Repo, Create/Activate Virtual Environment, Install from Source, Run:

git clone git@github.com:cgoldberg/bump-dependencies.git
cd ./bump-dependencies
python3 -m venv venv
source venv/bin/activate
pip install .
bump_dependencies

Example:

If your pyproject.toml contains this:

[project]
... some metadata ...
dependencies = ["matplotlib~=3.9", "requests==2.29.0"]

[project.optional-dependencies]
socks = ["PySocks>=1.5.6"]

[dependency-groups]
dev = ["black==23.9.1", "ruff==0.9.5"]
test = ["pytest>8", "pytest-mock>=3.11"]

It will update dependency specifiers to the latest versions available on PyPI:

[project]
... some metadata ...
dependencies = ["matplotlib~=3.10.3", "requests==2.32.4"]

[project.optional-dependencies]
socks = ["PySocks>=1.7.1"]

[dependency-groups]
dev = ["black==25.1.0", "ruff==0.12.1"]
test = ["pytest>8.4.1", "pytest-mock>=3.14.1"]

Which sections of pyproject.toml will be updated?

It will update dependency specifiers listed in various sections of pyproject.toml:

  • dependencies list from [project] section
  • dependency lists from [project.optional-dependencies] section
  • dependency lists from [dependency-groups] section

Which dependency specifiers will be updated?

  • will only update dependency specifiers with version identifier containing comparison operator: ==, ===, ~=, >, >=
    • example:
      • foo==1.0.0
      • foo~=1.0
      • foo>=1
  • will not update dependency specifiers with version identifier containing comparison operator: <, <=, !=
    • example:
      • foo<2.0
      • foo>=1,<2
      • foo > 1.0, != 1.0.1
  • will not update unversioned dependency specifiers
    • example:
      • foo
      • foo[bar]
  • will not update direct reference dependency specifiers
    • example:
      • foo @ https://github.com/foo/foo/archive/1.0.0.zip
      • foo @ file:///builds/foo-1.0.0-py3-none-any.whl

Supported comparison operators in version identifiers:

  • == : version matching
  • === : arbitrary equality
  • ~= : compatible release
  • > : exclusive ordered comparison
  • >= : inclusive ordered comparison

Unsupported comparison operators in version identifiers:

  • < : exclusive ordered comparison
  • <= : inclusive ordered comparison
  • != : version exclusion

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_dependencies-0.1.4.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bump_dependencies-0.1.4-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file bump_dependencies-0.1.4.tar.gz.

File metadata

  • Download URL: bump_dependencies-0.1.4.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for bump_dependencies-0.1.4.tar.gz
Algorithm Hash digest
SHA256 42686ea0ee8eef51f9205ac0043861c6a37f8e885483c71a83e013a897dacf9a
MD5 63c1a2dc6d135ac1432e2c406d682523
BLAKE2b-256 1be366077321f7b386227e6e3f9f081b3bf8a6be2dbe559d7e10bbab41f598e8

See more details on using hashes here.

File details

Details for the file bump_dependencies-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for bump_dependencies-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 36d56bfcab93b2f4f3b72c3b3a090cecbf0ea8865211521c132d9148473350e3
MD5 d2228c83adddddd569a5ac046dda74d0
BLAKE2b-256 d5f5d66d125d1e2f4cb8648eab3511bcc73d5418f824e5f63a85b639c737da48

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