Update Python requirements in a setup.py file to permit latest available versions
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55a9dd66b8434af568a40c30d7a06a5dc6f3a8e401812ab70a8c630246fdf2a4 |
|
MD5 | f8e1a650667247330fd51e8acd19fd5d |
|
BLAKE2b-256 | cfcfe6efab9f7226a47751dddbc81d3ba1bb3c8ab468271c36cd849b9003d320 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 170100ff6f38cdea44843379d212fa23245393e0d5dd07b65611c8598b8cb91d |
|
MD5 | 0d36c88125359c7dcdf16680f7a33207 |
|
BLAKE2b-256 | 8e905a2be03da39c8b64f65d89a622ff2a12d37692c47bbd97b756f025fc6c6b |