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/*
Metadata
Release files for piptegrator 1.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| piptegrator-1.5.1-py3-none-any.whl | Python 3 | none | any | Details for piptegrator-1.5.1-py3-none-any.whl |
Release files / piptegrator-1.5.1-py3-none-any.whl
| Download URL | piptegrator-1.5.1-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47945ad82ba1e906f23d7bf466b2c671ccb7f45c9c034cde5e2b07717fd86836
|
|
BLAKE2b-256 checksum How to use checksums |
8d3d1d6993e1832eb10694eb3e09eb237a69fb0cf3764966bf026e90f6bef04b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.9
|
Security for piptegrator 1.5.1
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.