2008-05-19 14:19:15 +01:00
2007-06-02 17:27:53 +01:00
2007-06-16 20:58:00 +01:00
2007-05-31 18:13:01 +01:00
2007-05-31 18:44:36 +01:00
2008-03-02 21:31:24 +00:00
2008-01-24 14:34:27 +00:00
2008-05-11 15:08:59 +01:00

== 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.

S
Description
No description provided
Readme 12 MiB
Languages
Python 92%
C++ 4.9%
C 3%