Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

bump-minimum-dependencies

Automatically updates the minimum supported dependencies of a Python package, including dependency groups and optional dependencies.

Updates to pyproject.toml are made with uv.

[!NOTE] This tool is in the early stages of procrastination-driven development (PDD). If you find bugs, please raise an issue!

Usage

Usage: bump-minimum-dependencies [OPTIONS]

  Bump the minimum allowed versions of package dependencies.

Options:
  --pyproject_file TEXT      Path to pyproject.toml
  --drop-months INTEGER      Drop minor releases from this many months
                             ago.
  --cooldown-months INTEGER  Ensure that there is at least one release
                             this many months old.
  --all-extras               Update all optional dependencies.
  --all-groups               Update all dependency groups.
  --extra TEXT               Name of an optional dependencies category.
                             May be provided more than once.
  --group TEXT               Name of a dependency group to update. May be
                             provided more than once.
  --skip TEXT                Name of a package to skip when performing
                             updates. May be provided more than once.
  --help                     Show this message and exit.

Background

This tool was inspired by SPEC 0 — Minimum Supported Dependencies, which recommends that projects across the scientific pythoniverse adopt a common time-based policy for dropping dependencies. SPEC 0 recommends that support for core package dependencies be dropped 2 years after their initial release.

Limitations

  • This tool does not upgrade the minimum required version of Python.

  • By making use of dep-logic, bump-minimum-dependencies is able to handle a wide variety of requirements. When a requirement is unable to be updated, bump-minimum-dependencies issues a warning and skips making changes to that requirement.

  • This tool does not automatically update lockfiles or sync virtual environments. These commands would need to be performed automatically.

  • This tool removes .0 suffixes when updating requirements for consistency with pyproject-fmt.

  • The locations of comments may be changed when uv updates pyproject.toml, so changes should be reviewed before being accepted.

Related projects

  • scientific-python/spec0-action — a GitHub action to create quarterly pull requests to perform SPEC 0 updates using a published drop schedule. Unlike bump-minimum-dependencies, this tool distinguishes between SPEC 0 core packages and other packages.
  • cgordberg/bump-dependencies — updates dependency specifiers in pyproject.toml to latest compatible versions.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bump_minimum_dependencies-0.1.0b2.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_minimum_dependencies-0.1.0b2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file bump_minimum_dependencies-0.1.0b2.tar.gz.

File metadata

File hashes

Hashes for bump_minimum_dependencies-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 aed2f52137d38c0ebb76b9497c04cc881b5051cf2ff9787ef51e9a158743fe36
MD5 b2ba0410fd01349a4ad13272a79a83c5
BLAKE2b-256 1711b56fac378d0a9a040e9a84df73cb21b1047198ed6c84d642adedc7ff4dab

See more details on using hashes here.

Provenance

The following attestation bundles were made for bump_minimum_dependencies-0.1.0b2.tar.gz:

Publisher: publish.yml on namurphy/bump-minimum-dependencies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bump_minimum_dependencies-0.1.0b2-py3-none-any.whl.

File metadata

File hashes

Hashes for bump_minimum_dependencies-0.1.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 15dd016752a40bcab61d7c75f322917ec7c5c56f416f2af9436ffbd81b953d70
MD5 3914333fe806ace2709cfa16d7862652
BLAKE2b-256 de52db6338508c0d1985c129948789a75118cf16ad49067f1ff32794986244ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for bump_minimum_dependencies-0.1.0b2-py3-none-any.whl:

Publisher: publish.yml on namurphy/bump-minimum-dependencies

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

This release

0.1.0b2 This release

2 files

Supported by

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