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.9.tar.gz (4.7 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for bumper-0.1.9.tar.gz
Algorithm Hash digest
SHA256 840c7404545c0d5fff459bf6db68688d508afd211539c34c689d61ab7168b01f
MD5 2648b12a7608f94e5d9bb2525e6562f5
BLAKE2b-256 bbedf28bf16741e9ecaa5ecd9630da92c4a57b56b5138e5bc97355788ce52ac7

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