Skip to main content

Update Python requirements in a setup.py file to permit latest available versions

Project description

update-req-spec

Build Status License: MIT Code style: black

Update Python requirements in a setup.py file to permit latest available versions.

Motivation

You wish to cap the versions of the dependencies in your library to the major versions that are currently released since you have tested your library against these versions and, given everyone follows semantic versioning, minor updates should remain compatible. But keeping these version ranges up to date with new major releases can be tedious.

update-req-spec makes this a little easier by updating the install_requirements in your setup.py so that the version specifications allow the latest major releases while retaining the minimum permitted versions. Then all you need to do is run your tests and publish a new release.

For example, given:

from setuptools import setup

setup(
    # --- snip ---
    install_requires=[
        "requests",
        "Click>=6.1",
        "attrs~=18.1",
    ],
    # --- snip ---
)

will be transformed to:

from setuptools import setup

setup(
    # --- snip ---
    install_requires=[
        "requests<3",
        "Click>=6.1,<8",
        "attrs>=18.1,<19",
    ],
    # --- snip ---
)

Installation

Install with pipsi:

pipsi install update-req-sepc

or with pip:

python3 -m pip install update-req-spec

Usage

update-req-spec setup.py

If you use a private packge repository:

update-req-spec --index-url http://private-repo.example/ setup.py

# or

export PIP_INDEX_URL=http://private-repo.example/
update-req-spec setup.py

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

update-req-spec-1.0.2.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

update_req_spec-1.0.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file update-req-spec-1.0.2.tar.gz.

File metadata

  • Download URL: update-req-spec-1.0.2.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

File hashes

Hashes for update-req-spec-1.0.2.tar.gz
Algorithm Hash digest
SHA256 55a9dd66b8434af568a40c30d7a06a5dc6f3a8e401812ab70a8c630246fdf2a4
MD5 f8e1a650667247330fd51e8acd19fd5d
BLAKE2b-256 cfcfe6efab9f7226a47751dddbc81d3ba1bb3c8ab468271c36cd849b9003d320

See more details on using hashes here.

File details

Details for the file update_req_spec-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: update_req_spec-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

File hashes

Hashes for update_req_spec-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 170100ff6f38cdea44843379d212fa23245393e0d5dd07b65611c8598b8cb91d
MD5 0d36c88125359c7dcdf16680f7a33207
BLAKE2b-256 8e905a2be03da39c8b64f65d89a622ff2a12d37692c47bbd97b756f025fc6c6b

See more details on using hashes here.

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