[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
example.
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++
declaration.
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
process.
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