update-req-spec
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.