[C++-sig] py++ status

Roman Yakovenko roman.yakovenko at gmail.com
Mon Jul 25 13:02:11 CEST 2005

Hi. In light of the recent event ( see posting "Pyste: Help Wanted" ) 
I decided to report status of py++ project.

First of all what is this?
py++ is a framework of components for creating C++ code generator for 
boost.python library.

What is the status? 
py++ has reached the state when it has something to propose to an user. 
py++ has:
    introduction guide
    unit tests
As an example I choose to expose Trolltech Qt4 QtXml module. It was
pretty easy.
Use this link http://pygccxml.sourceforge.net/pyplusplus/py++.html to read more 
about py++ and to see the example.

What it does not have ( main futures ):
1. py++ does not allow the user to override virtual functions from Python
   for exported classes, i.e. py++ does not create a wrapper class for
   exported classes

2. py++ does not have multiple files mode, as Pyste has.

Key Features:

1. py++ is Python package, hence
    1. An user uses Python language to express/create code generation process. 
    2. Easy integration between processes.    

2. py++ does not involved in parsing C++ files ==> an other back-end could be 
   added, without modifying py++ sources. For example Microsoft bsc
files reader
   or synopsis parser. 

3. py++ has clear separation between different functionalities: 
        code creators - what code should be created in order to export some C++ 
        module creator - what could be exported and what is the order
of exported
                         declarations. Example base class should be exported 
                         before its derived. Function that takes as argument a 
                         pointer to function could not be exported
        file creators - classes that use different strategy to create files 
                        on disk
4. py++ allows easy integration between user hand written and generated code.

5. py++ has a lot of futures that allows generated code to look like human 
   written code.
6. py++ can have some nice GUI, that will guide user through code generation 
What about Pyste? I think that in a few months I will have all functionality 
that Pyste has in py++. So I prefer not to invest my time into Pyste. 

Ideas, comments, suggestions or help are welcomed.

Roman Yakovenko

More information about the Cplusplus-sig mailing list