ee6589e95dedf93f159ff6c587119fefbb6f9410
== About == PyBindGen is (surprise!) a python bindings generator. The main features are: * Is written in clean, PEP 8 compliant, and pylint checked, Python code; * Generates clean C or C++ code, nearly as readable as code written manually by a developer; * Generated code is self contained and does not require any external libraries or macros; after generating the python module only python header files are required, nothing else. * Does not require Boost.Python (no C++ template magic, also works in C); * The interface for code generation is a simple Python API, not some obscure interface definition language. Additionally PyBindGen can parse header files with gccxml, if gccxml and pygccxml are installed in the system. * Can be easily extended with new type handlers; * Type handlers can allocate memory and register cleanup code to free; * Supports in, out, and inout parameters (e.g. with pointers or C++ references); * Supports multiple return values (e.g. due to out/inout parameters); * Supports wrapping of simple C++ classes; * Supports virtual methods in classes; * Supports reference counted classes and smart pointers; Notable features NOT implemented: * Multiple inheritance; # relatively hard to support, little motivation * Exceptions. # moderate difficulty, likely to be implemented sometime in the future == Installation == Before proceeding make sure the system requirements are met. PyBindGen requires: 1- Python (http://www.python.org) 2- Python development files 3- A C/C++ Compilation tool chain 4- (optional) GCCXML and PyGCCXML (0.9.5 recommended) (http://www.language-binding.net/pygccxml/download.html) PyBindGen uses WAF (http://code.google.com/p/waf/) as build system. However, WAF does not have to be previously installed, as it is shipped with PyBindGen in a single 'waf' script. However, if you are checking out the bzr branch from launchpad then the waf script is not included. and you should get it from http://code.google.com/p/waf/downloads/list. WAF version 1.3.2 is known to work with PyBindGen. WAF 1.4.0 is known _not_ to work. WAF svn trunk may or not work. To install PyBindGen, issue the following commands: 1. ./waf configure # optionally you may add the option --prefix /foo/bar 2. ./waf # possible options: -jN for parallel build, -p for progress bar 3. ./waf check # optional step, runs the unit tests 4. ./waf install # may require sudo == Documentation == There is no documentation yet. For now there are some examples, in the 'examples' directory.
Description
Languages
Python
92%
C++
4.9%
C
3%