buildguard
Catch upstream Python dependency breakage before it burns CI time.
buildguard runs a clean install check for your pinned Python dependencies and fails fast when upstream package ecosystem drift breaks installation.
Start with the public repo or PyPI package. If your team wants to use it in business or commercial CI, buy a commercial license and keep the same workflow.
buildguard check requirements.txt
Clean Install Validation
Validates that your pinned dependencies still install successfully in a fresh environment.
Public Repo + PyPI
Try it from PyPI, inspect the code on GitHub, and keep commercial use on a separate paid license path.
Actionable Failure Output
Surfaces the most likely failing dependency and a concise diagnosis instead of forcing you through raw pip output.
Try it now
Install from PyPI
python3 -m pip install buildguard
Best if you want to evaluate the tool quickly on a real requirements file.
Run a check
buildguard check requirements.txt buildguard check requirements.txt --json
Text output is human-friendly, and JSON output is ready for automation.
Why buildguard exists
A CI pipeline can look healthy even when dependency installation has already failed.
One failure mode is simple: a pinned dependency disappears from PyPI or becomes unavailable for a given Python version or platform.
buildguard exists to catch that class of problem early and explicitly, before the rest of the pipeline wastes time.
How it works
- Create a temporary clean virtual environment.
- Install your
requirements.txtfrom scratch. - Capture install failures, likely failing package, and useful error output.
- Exit non-zero so CI stops before the rest of the build wastes time.
Distribution and license model
- GitHub: public source code at github.com/heffman/buildguard
- PyPI: installable package at pypi.org/project/buildguard
- Personal use: free for evaluation and other non-commercial use
- Commercial use: paid Gumroad purchase covers internal team and business use
No activation, unlock flow, online verification, or license file is required. The commercial purchase changes the legal terms, not the way the tool behaves.
Example output
buildguard check: sample-bad-requirements.txt python: python3.6 venv: /tmp/buildguard-gheksm_w FAIL pip install -r sample-bad-requirements.txt exited with code 1 likely failing dependency: mysql-connector-python==8.0.11 pip error summary: ERROR: Could not find a version that satisfies the requirement mysql-connector-python==8.0.11 ERROR: No matching distribution found for mysql-connector-python==8.0.11 diagnosis: No installable distribution was found for mysql-connector-python==8.0.11 on the current index/Python/platform. summary: elapsed_seconds=11.2 pip_exit_code=1
What you get
- Public GitHub repo access
- PyPI package for installation
- Quickstart docs and CI examples
- Machine-readable JSON output for automation
- Paid commercial license for internal team use
- No activation or license-file enforcement
Use cases
Preflight dependency checks
Fail fast before tests, packaging, or deployment steps run on a broken dependency set.
Legacy dependency stack validation
Validate older Python environments against upstream package drift without waiting for a broken CI build to surprise you.
Refund policy: 7 days if buildguard is non-functional in your environment and support cannot resolve the issue.