Skip to main content

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

Metadata

Release files for update-req-spec 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for update-req-spec 1.0.2
File Size Uploaded Provenance Actions
update-req-spec-1.0.2.tar.gz 4.9 kB Without provenance Details for update-req-spec-1.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for update-req-spec 1.0.2
File Interpreter ABI Platform Actions
update_req_spec-1.0.2-py3-none-any.whl Python 3 none any Details for update_req_spec-1.0.2-py3-none-any.whl

Total release size: 11.4 kB

Release files / update-req-spec-1.0.2.tar.gz

Download URL update-req-spec-1.0.2.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
55a9dd66b8434af568a40c30d7a06a5dc6f3a8e401812ab70a8c630246fdf2a4
BLAKE2b-256 checksum
How to use checksums
cfcfe6efab9f7226a47751dddbc81d3ba1bb3c8ab468271c36cd849b9003d320
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / update_req_spec-1.0.2-py3-none-any.whl

Download URL update_req_spec-1.0.2-py3-none-any.whl
Size 6.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
170100ff6f38cdea44843379d212fa23245393e0d5dd07b65611c8598b8cb91d
BLAKE2b-256 checksum
How to use checksums
8e905a2be03da39c8b64f65d89a622ff2a12d37692c47bbd97b756f025fc6c6b
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for update-req-spec 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page