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
Hashes for update_req_spec-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 170100ff6f38cdea44843379d212fa23245393e0d5dd07b65611c8598b8cb91d |
|
MD5 | 0d36c88125359c7dcdf16680f7a33207 |
|
BLAKE2b-256 | 8e905a2be03da39c8b64f65d89a622ff2a12d37692c47bbd97b756f025fc6c6b |