PyBindGen
Python Bindings Generator
Decision gist · record as of 2026-08-14
Yes, if you need to generate or maintain Python bindings for C/C++ code and have no active development requirements. The package is stable and has no known vulnerabilities, but it is abandoned—no new features or bug fixes since 2022. Install it only for existing projects or when you are confident the generated code will not need updates. For new binding projects, consider actively maintained alternatives.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- A C/C++ compiler and Python development headers are required to compile the generated bindings; PyBindGen itself is pure Python but exists to generate code that must be compiled.
- Installation is straightforward with low friction (pure Python package, no runtime dependencies), but the project is abandoned—last release was 2022-03-30 and no commits since 2023-03-16.
- Use only if you need to maintain existing bindings or have specific compatibility requirements.
License · maintenance · safety
copyleft license (copyleft) — Licensed under LGPLv2+, a copyleft license. Any Python module you generate with PyBindGen and distribute must comply with LGPLv2+ terms, including providing source code or a written offer for it.
last release 2022-03-30 (1598 days) · last repo commit 2023-03-16 · 157 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 82,662 downloads/mo, #14,146 on PyPI
Alternatives
Verify before relying
pip install PyBindGen==0.22.1
from pybindgen import Module, param
m = Module('mymodule')
m.add_function('add', retval(int), [param('int', 'a'), param('int', 'b')])
m.generate(open('mymodule.cpp', 'w'))- Whether the generated code remains compatible with modern Python versions (3.9+) despite the project's abandonment
- Current state of optional gccxml/pygccxml integration and whether it works with Python 3
- Whether the generated bindings work reliably with recent C++ standards and compiler versions
What it is and what it does
PyBindGen is a code generator that reads C or C++ function and class definitions and produces Python extension code that wraps them. Instead of writing binding code by hand or using a template-heavy system like Boost.Python, you describe your API in Python and PyBindGen emits clean, self-contained C or C++ code that can be compiled into a Python module. The generated code has no external dependencies beyond Python headers.
The package supports a wide range of binding scenarios: simple functions, classes with virtual methods, reference-counted objects, templated classes, multiple inheritance, and in/out/inout parameters. It can optionally parse C++ headers using gccxml if available. However, it does not support converting Python exceptions to C++ or implementing callbacks, and the project has been inactive since early 2023.
Use it for
- Wrapping a legacy C library to make it accessible from Python without rewriting it
- Exposing a C++ class hierarchy as a Python module while preserving virtual method dispatch
- Generating bindings for a templated C++ class to use from Python code
- Creating a Python interface to a performance-critical C function without manual binding code
- Maintaining existing PyBindGen-generated modules in a stable codebase
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to generate or maintain Python bindings for C/C++ code and have no active development requirements.
The package is stable and has no known vulnerabilities, but it is abandoned—no new features or bug fixes since 2022. Install it only for existing projects or when you are confident the generated code will not need updates. For new binding projects, consider actively maintained alternatives.
Install
pybindgen on PyPI
Before you install
Installation is straightforward with low friction (pure Python package, no runtime dependencies), but the project is abandoned—last release was 2022-03-30 and no commits since 2023-03-16. Use only if you need to maintain existing bindings or have specific compatibility requirements.
A C/C++ compiler and Python development headers are required to compile the generated bindings; PyBindGen itself is pure Python but exists to generate code that must be compiled.
License in practice
Licensed under LGPLv2+, a copyleft license. Any Python module you generate with PyBindGen and distribute must comply with LGPLv2+ terms, including providing source code or a written offer for it.
Quickstart
pip install PyBindGen==0.22.1
from pybindgen import Module, param
m = Module('mymodule')
m.add_function('add', retval(int), [param('int', 'a'), param('int', 'b')])
m.generate(open('mymodule.cpp', 'w'))
Verify before relying
- Whether the generated code remains compatible with modern Python versions (3.9+) despite the project's abandonment
- Current state of optional gccxml/pygccxml integration and whether it works with Python 3
- Whether the generated bindings work reliably with recent C++ standards and compiler versions
Package facts
| License | copyleft license copyleft |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 1,598 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 82,662 / month, #14,146 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)Programming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Software Development :: Build Tools |
Evidence: PyBindGen-0.22.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “wrap c code python”
- PyBindGenPyBindGen generates clean C or C++ code that wraps C/C++ libraries as…
- ansiwrapWraps and formats text while correctly handling ANSI color and style…
- textwrap3Backports Python 3.6's textwrap module to earlier Python versions,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also pybind11-global · pybind11 · pycups · p4python · pywin32-ctypes · cxxheaderparser · pycapnp · pyclibrary · shiboken2 · cppyy-cling