pkgconf
`pkgconf` is a program which helps with discovering library dependencies and configuring compiler and linker flags.
What it is and what it does
pkgconf is a PyPI distribution of the pkgconf binary, designed to make the pkg-config tool available across platforms without requiring system package managers. It wraps the unmodified pkgconf upstream and installs it as a script in your Python environment, solving the problem of discovering library dependencies and configuring compiler and linker flags in a reproducible, cross-platform way.
The package targets workflows where other Python packages need pkg-config as a build or runtime dependency. It provides pre-built wheels for macOS (Intel and ARM), Linux (x86_64, i686, ARM, PowerPC, s390x, and musl variants), and Windows (x86_64, x86, and ARM64), making it practical for CI/CD pipelines and containerized builds where system pkg-config may not be available or where you need a consistent version across environments.
Use it for:
- Installing pkg-config in CI/CD pipelines without relying on apt, brew, or yum package managers
- Building Python packages that require pkg-config during compilation in isolated environments
- Cross-platform development where team members use different operating systems and need consistent dependency resolution
- Containerized builds where you want to minimize base image size by avoiding system package manager dependencies
- Virtual environments where pkg-config must be available without affecting the host system
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pkgconf is a cross-platform Python package that distributes the pkgconf binary, helping discover library dependencies and configure compiler and linker flags without requiring system installation.
Yes, if you need pkg-config in a Python environment and want to avoid system package manager dependencies or ensure consistent versions across platforms. The active maintenance, permissive MIT license, and broad platform support make it a practical choice for build automation and CI/CD. No known vulnerabilities and minimal dependencies are additional positives. Install only if you actually need pkg-config; it adds a platform-specific binary to your environment.
Install
pkgconf on PyPI
pip
pip install pkgconfuv
uv add pkgconfpoetry
poetry add pkgconfInstalling pkgconf
Before you install
Medium install friction due to platform-specific wheels across many architectures (x86_64, ARM, PowerPC, s390x, Windows, macOS). Active maintenance with a recent release 32 days ago. Single runtime dependency on colorama keeps the footprint minimal.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal attribution requirements.
Quickstart
pip install pkgconf
import pkgconf
# pkg-config binary is installed as a script in the Python environment
Requires Python 3.10 or later. The package installs pkg-config as a script alias; availability depends on the Python environment's scripts directory being in PATH.
Verify before relying
- Whether the installed pkg-config script is automatically added to PATH or requires manual configuration
- How the package handles system pkg-config conflicts or coexistence scenarios
- Performance characteristics compared to system-installed pkgconf
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — colorama |
| Maintenance | actively maintained — 32 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 77,774/month — #14,497 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pkgconf-3.0.1.post0-py3-none-macosx_10_9_x86_64.whl; pkgconf-3.0.1.post0-py3-none-macosx_11_0_arm64.whl; pkgconf-3.0.1.post0-py3-none-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; pkgconf-3.0.1.post0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pkgconf-3.0.1.post0-py3-none-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl; pkgconf-3.0.1.post0-py3-none-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl; pkgconf-3.0.1.post0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pkgconf-3.0.1.post0-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl; pkgconf-3.0.1.post0-py3-none-musllinux_1_2_aarch64.whl; pkgconf-3.0.1.post0-py3-none-musllinux_1_2_armv7l.whl; pkgconf-3.0.1.post0-py3-none-musllinux_1_2_i686.whl; pkgconf-3.0.1.post0-py3-none-musllinux_1_2_ppc64le.whl; pkgconf-3.0.1.post0-py3-none-musllinux_1_2_s390x.whl; pkgconf-3.0.1.post0-py3-none-musllinux_1_2_x86_64.whl; pkgconf-3.0.1.post0-py3-none-win32.whl; pkgconf-3.0.1.post0-py3-none-win_amd64.whl; pkgconf-3.0.1.post0-py3-none-win_arm64.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pkgconfigpkgconfig wraps the pkg-config command-line…
permissive · top 5,000 on PyPI
rospkgProvides Python access to ROS package metadata…
permissive · top 15,000 on PyPI
ziglangDistributes the Zig programming language…
permissive · top 5,000 on PyPI
cmakeDistributes CMake 4.4.2 as a Python package,…
permissive · top 5,000 on PyPI
colcon-pkg-configExtends colcon-core to configure environment…
permissive · top 15,000 on PyPI
ninjaDistributes the Ninja 1.13.0 build system as…
permissive · top 1,000 on PyPI
ifcfgIfcfg parses network interface configuration…
permissive · top 15,000 on PyPI
just-binDistributes the `just` command-line task runner…
permissive · top 15,000 on PyPI
patchelfProvides a PyPI-packaged binary of patchelf, a…
copyleft · top 5,000 on PyPI
nodejs-wheel-binariesDistributes Node.js prebuilt binaries as Python…
permissive · top 5,000 on PyPI