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:

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.

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.13.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

bumper-0.1.13-py2.py3-none-any.whl (2.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page