Registry / devops / bindep

bindep

JSON →
library2.14.0pypypi✓ verified 23d ago

Bindep is a command-line utility for checking the presence of binary packages required by an application or library. It helps manage operating system-level package dependencies, particularly in development and CI environments, and originated from the OpenStack project to ensure necessary system packages are installed before Python dependencies. The current version is 2.14.0, requiring Python >=3.8, and it follows an irregular, as-needed release cadence.

pip install bindep
INSTALL
IMPORT
SIG · BINDEP
B
bindep
devopspythonv2.14.0
Install
2.2s avg
Import
Disk
23MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2.14.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 21.4MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.2s · import 0.000s · 22MB
23MB installed
● package 23MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

bindep CLI
bindep <options>
Bindep is primarily a command-line interface tool; direct programmatic Python imports for end-user functionality are less common.

Create a `bindep.txt` file listing binary package dependencies. Each line specifies a package name, optionally followed by profile selectors and version constraints. Then, run the `bindep` command to check for missing packages. The `--brief` option outputs only the names of missing packages.

echo "grep" > bindep.txt echo "python3-dev [platform:debian]" >> bindep.txt echo "python3-devel [platform:rhel]" >> bindep.txt # To check for missing packages: bindep --brief # Example of checking a specific profile (e.g., 'debian') bindep --profile debian --brief
bindep --version
Debug
Known issues
gotchaThe primary dependency file used by bindep is `bindep.txt`. However, older projects or documentation might refer to `other-requirements.txt`, which was the previous default location. Bindep will fall back to `other-requirements.txt` if `bindep.txt` is not found.
fix
Always use `bindep.txt` for new projects and update existing projects to use it where possible.
affects: All versions
breakingMalformed `bindep.txt` files, such as those missing a trailing newline or containing invalid characters in profile names (e.g., uppercase or underscores), can lead to `ParseError` or difficult-to-debug build failures.
fix
Ensure `bindep.txt` files are correctly formatted, adhere to Debian package naming conventions, and use lowercase characters without underscores for profile names. Validate the file rigorously.
affects: All versions
gotchaBinary package names vary significantly across different operating systems and distributions (e.g., `libxml2-dev` on Debian-based systems vs. `libxml2-devel` on RPM-based systems). Without proper platform profiles, `bindep` might incorrectly report missing packages or fail to identify the correct ones.
fix
Leverage `platform:` selectors (e.g., `[platform:debian]`, `[platform:rhel]`) in `bindep.txt` to define platform-specific package names, ensuring cross-platform compatibility. The supported platform profiles are not extensively documented, requiring some experimentation or inspection of bindep's source.
affects: All versions
gotchaThe `bindep` CLI exit code `1` is overloaded, indicating either 'file not found/reading errors' or 'missing/incompatible packages'. This ambiguity can make automated parsing and error handling challenging.
fix
For more detailed diagnostic information, rely on `bindep`'s verbose output rather than solely the exit code when troubleshooting. Consider piping output to a file and parsing it for specific error messages.
affects: All versions
Upgrade
Version history
2.14.0latest on PyPI · released Mar 19, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
7 hits · last 30 days
node
6
Resources
bindep — pip install bindep · libregistry