Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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:

sudo pip3 install autopip
app 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.

Project details


Release history Release notifications

This version
History Node

0.1.13

History Node

0.1.12

History Node

0.1.11

History Node

0.1.10

History Node

0.1.9

History Node

0.1.8

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
bumper-0.1.13-py2.py3-none-any.whl (2.8 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Jun 6, 2018
bumper-0.1.13.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None Jun 6, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page