Skip to main content

Bump (pin/manage) your dependency requirements with ease

Project description

bumper

Bump (pin/manage) your dependency requirements with ease

Feature Summary

  • Bumps dependencies in requirements.txt / pinned.txt to latest or specified version

  • Versions are validated against published versions in PyPI

  • Show detailed changelogs for pinned version bumps

  • Automatically pin dependency requirements from detailed changelogs

  • Easily extendible by writing your own bumper class

Quick Start Tutorial

To install:

pip install bumper

To bump everything to latest version:

$ cat requirements.txt
localconfig<=0.3
remoteconfig
requests==2

$ bump
[INFO] Updated requirements.txt: requests==2.5.1

$ cat requirements.txt
localconfig<=0.3
remoteconfig
requests==2.5.1

To bump to specific version:

$ bump localconfig==0.5
[ERROR] There are no published versions that satisfies localconfig==0.5
        Please change to match at least one of these: 0.4.1, 0.4.0, 0.3.6, 0.3.5, 0.3.4, 0.3.3, 0.3.2, 0.3.1, 0.3.0, 0.2.9

# Needs quote when using > or < sign they are stdout/in redirects in bash.
$ bump 'localconfig>=0.4' requests==2.5
[INFO] Updated requirements.txt: localconfig>=0.4 requests==2.5

To show details of the bump:

$ bump --detail
[INFO] Checking requests
[INFO] Updated requirements.txt: requests==2.5.1

requests
  2.5.1
    **Behavioural Changes**
    + Only catch HTTPErrors in raise_for_status (#2382)
    **Bugfixes**
    + Handle LocationParseError from urllib3 (#2344)
    + Handle file-like object filenames that are not strings (#2379)
    + Unbreak HTTPDigestAuth handler. Allow new nonces to be negotiated (#2389)

$ bump
[INFO] No need to bump. Everything is up to date!

In order for details to show, the package’s long_description, docs_url, or url must link to the package’s git/bitbucket repository where CHANGELOG.rst (or its variances: CHANGELOG|CHANGES|HISTORY|changes.md|txt) can be found at the source root or ‘docs’ folder.

For pinned.txt, it will even pin any requirements from changes:

$ cat pinned.txt
remoteconfig==0.2

$ bump --dependencies
[INFO] Checking remoteconfig
[INFO] Changes in remoteconfig require: localconfig>=0.4
[INFO] Pinned localconfig==0.4.1, remoteconfig==0.2.4

remoteconfig
  0.2.4
    * Add py26 testing to tox
    * Use mangled url as file name instead of base64 encode
    * Fix tests
  0.2.2
    * Add an example to instantiate another config
    * Raise a more descriptive error when requests.get fails
  0.2.1
    * Require localconfig>=0.4
    * Fix API doc
    * Update changelog

Easy and cool, right? :)

Want it to be even easier? Check out the integrated version in workspace-tools that does the commit with the change details for you.

More

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

bumper-0.1.8.tar.gz (4.7 kB view details)

Uploaded Source

File details

Details for the file bumper-0.1.8.tar.gz.

File metadata

  • Download URL: bumper-0.1.8.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bumper-0.1.8.tar.gz
Algorithm Hash digest
SHA256 b656796a24b5e42db935c82391be409ec1e0850ad2b430d2fe86924d6066ae02
MD5 e7f8af942adf97afebf2684422c8ef80
BLAKE2b-256 27a90a80d765811ad16a278878b5f9469334db76d3c1f108722a9a40a3eb97d3

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