Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

piptegrator-1.5.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

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

Hashes for piptegrator-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47945ad82ba1e906f23d7bf466b2c671ccb7f45c9c034cde5e2b07717fd86836
MD5 a583db8e34004eb238b7a92aaec84d7b
BLAKE2b-256 8d3d1d6993e1832eb10694eb3e09eb237a69fb0cf3764966bf026e90f6bef04b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page