Piptegrator - Tools for managing requirements-driven projects
Project description
Piptegrator
Tools for managing requirements-driven projects
Run piptegrator --help
for usage details
Configuration file which contains requirements files (must be in the repo root if present at all):
.piptegrator_config
Note: command line options always override corresponding config file options (they do not append to or aggregate with each other).
Running the tools
The main tool is piptegrator
piptegrator --help
Given the configuration file .piptegrator_config
(a sample present in this repo), run:
piptegrator --compile --noenvmods
For use without a config file, specify the requirements input files as a comma delimited string, e.g.:
piptegrator --compile --noenvmods --requirements test/requirements.in,test/requirements.tests.in
Error resolution
The most common error flagged is when two requirements files have different versions of a given package. You can see an example of this by running
piptegrator --compile --noenvmods --requirements test-errors/requirements.in,test-errors/requirements.tests.in
This kind of mismatch can be trivial (micro version differences) but the purpose of Piptegrator is to flag these: if you are testing with one version of a library, and deploying with another, unwelcome surprises are possible.
We observe the version mismatches, and can mitigate them by upgrading/downgrading the respective pinned versions accordingly, or duplicating a troublesome requirement from one requirements file to another.
(The test
folder has these fixes, and serves as a contrast with the contents of the test-errors
folder.)
Updating this package
Clone this repo
On a branch, make the required edits
Ensure you update the version number in piptegrator/__config__.py
(pre-release? use rc
notation, e.g., 1.2.3rc45
)
Building and install the distributable wheel
pip install -U build twine && \
rm -rf dist build *.egg-info ; \
python -m build --wheel && \
ls -al dist && \
unzip -l dist/*.whl && \
pip uninstall -y piptegrator && \
pip install dist/*.whl
Quick test (recompiles test/requirements.in with sample options)
ln -s .piptegrator_config.sample .piptegrator_config # Or make a copy
piptegrator --compile
Uploading changes (author only)
twine upload --repository piptegrator dist/*
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 Distributions
Built Distribution
File details
Details for the file piptegrator-1.5.1-py3-none-any.whl
.
File metadata
- Download URL: piptegrator-1.5.1-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47945ad82ba1e906f23d7bf466b2c671ccb7f45c9c034cde5e2b07717fd86836 |
|
MD5 | a583db8e34004eb238b7a92aaec84d7b |
|
BLAKE2b-256 | 8d3d1d6993e1832eb10694eb3e09eb237a69fb0cf3764966bf026e90f6bef04b |