ANN: Pyste - Boost.Python Code Generator
Hello All! I'm pleased to announce that Pyste has been released! Pyste is a Boost.Python code generator. The user specifies the classes and functions to be exported using a simple interface file, which following the Boost.Python's philosophy, is simple Python code. Pyste then uses GCCXML to parse all the headers and extract the necessary information to automatically generate C++ code. The project is in experimental phase, and can be found in the current Boos.Python CVS, and in the next 1.30.0 release, at libs/python/pyste. There's documentation and examples. Everyone is invited to try it out and provide feedback! The following features are supported in this release: * Functions * Classes * Class Templates * Virtual Methods * Overloading * Attributes * Enums (both "free" enums and class enums) * Nested Classes Regards, Nicodemus.
Nicodemus wrote:
Hello All!
I'm pleased to announce that Pyste has been released!
Pyste is a Boost.Python code generator. The user specifies the classes and functions to be exported using a simple interface file, which following the Boost.Python's philosophy, is simple Python code. Pyste then uses GCCXML to parse all the headers and extract the necessary information to automatically generate C++ code.
Great! Can you give some info about using its back-end AKA Exporter. I have DB of C++ classes and want to wrap them using boost. Niki Spahiev
Niki Spahiev wrote:
Nicodemus wrote:
Hello All!
I'm pleased to announce that Pyste has been released!
Pyste is a Boost.Python code generator. The user specifies the classes and functions to be exported using a simple interface file, which following the Boost.Python's philosophy, is simple Python code. Pyste then uses GCCXML to parse all the headers and extract the necessary information to automatically generate C++ code.
Great! Can you give some info about using its back-end AKA Exporter. I have DB of C++ classes and want to wrap them using boost.
What do you mean "DB of C++ classes"? Did you look at the documentation? All the information needed to use Pyste is present there. Regards, Nicodemus.\
Nicodemus wrote:
What do you mean "DB of C++ classes"? Did you look at the documentation? All the information needed to use Pyste is present there.
OCAS - http://opencascade.org It has many header files autogenerated from metainfo in DB. I can read this metainfo with python and want to generate boost.python wrappers. I want to skip GCCXML parser and use ClassExporter or HeaderExporter. Niki Spahiev
----- Original Message ----- From: "Niki Spahiev" <niki@vintech.bg> To: <c++-sig@python.org> Sent: Wednesday, March 12, 2003 1:56 PM Subject: Re: [C++-sig] ANN: Pyste - Boost.Python Code Generator
Nicodemus wrote:
What do you mean "DB of C++ classes"? Did you look at the documentation? All the information needed to use Pyste is present there.
OCAS - http://opencascade.org
It has many header files autogenerated from metainfo in DB. I can read this metainfo with python and want to generate boost.python wrappers.
I want to skip GCCXML parser and use ClassExporter or HeaderExporter.
Niki Spahiev
Hmm, I see! I will give you instructions privately. Regards, Nicodemus.
I am very excited by the potential for this tool, especially with its support for templates. (I really didn't want to go through the drudgery of exposing a library of templates to Python!) I am having a problem running Pyste, though. For some reason, copying 'filename' to 'infilename' (line 62 of CppParser.py) creates a file in /tmp that is read-only. I'm sure this is being caused by something screwy with my local environment settings, but I don't know what. I am testing on RedHat 8.0, and my umask is 022. I can modify CppParser.py to set the mode bits to 0644 immediately after the copy, but I would prefer to fix my environment settings rather than have a modified copy of Pyste. Any ideas? -Patrick Nicodemus wrote:
Hello All!
I'm pleased to announce that Pyste has been released!
Pyste is a Boost.Python code generator. The user specifies the classes and functions to be exported using a simple interface file, which following the Boost.Python's philosophy, is simple Python code. Pyste then uses GCCXML to parse all the headers and extract the necessary information to automatically generate C++ code.
The project is in experimental phase, and can be found in the current Boos.Python CVS, and in the next 1.30.0 release, at libs/python/pyste. There's documentation and examples. Everyone is invited to try it out and provide feedback!
The following features are supported in this release: * Functions * Classes * Class Templates * Virtual Methods * Overloading * Attributes * Enums (both "free" enums and class enums) * Nested Classes
Regards, Nicodemus.
_______________________________________________ C++-sig mailing list C++-sig@python.org http://mail.python.org/mailman/listinfo/c++-sig
-- Patrick L. Hartling | Research Assistant, VRAC patrick@vrac.iastate.edu | 2624 Howe Hall: 1.515.294.4916 http://www.137.org/patrick/ | http://www.vrac.iastate.edu/
Patrick Hartling wrote:
I am very excited by the potential for this tool, especially with its support for templates. (I really didn't want to go through the drudgery of exposing a library of templates to Python!) I am having a problem running Pyste, though. For some reason, copying 'filename' to 'infilename' (line 62 of CppParser.py) creates a file in /tmp that is read-only. I'm sure this is being caused by something screwy with my local environment settings, but I don't know what. I am testing on RedHat 8.0, and my umask is 022. I can modify CppParser.py to set the mode bits to 0644 immediately after the copy, but I would prefer to fix my environment settings rather than have a modified copy of Pyste. Any ideas?
-Patrick
Hi Patrick, It's apparently a bug in Pyste: the permission bits from the filename were being copied to the tmp file. So, I guess your file was read-only, and Pyste couldn't open it for append. I fixed the bug in CVS, could you please update and check if it's ok? I could test it only on Windows. Thanks for the report Patrick! Nicodemus.
Your change fixes the problem. Thanks very much. I was playing with the examples in boost/libs/python/pyste/examples, and yes, for me, they are read-only files. I assume that's a result of the anonymous CVS checkout. -Patrick Nicodemus wrote:
Patrick Hartling wrote:
I am very excited by the potential for this tool, especially with its support for templates. (I really didn't want to go through the drudgery of exposing a library of templates to Python!) I am having a problem running Pyste, though. For some reason, copying 'filename' to 'infilename' (line 62 of CppParser.py) creates a file in /tmp that is read-only. I'm sure this is being caused by something screwy with my local environment settings, but I don't know what. I am testing on RedHat 8.0, and my umask is 022. I can modify CppParser.py to set the mode bits to 0644 immediately after the copy, but I would prefer to fix my environment settings rather than have a modified copy of Pyste. Any ideas?
-Patrick
Hi Patrick,
It's apparently a bug in Pyste: the permission bits from the filename were being copied to the tmp file. So, I guess your file was read-only, and Pyste couldn't open it for append. I fixed the bug in CVS, could you please update and check if it's ok? I could test it only on Windows.
Thanks for the report Patrick! Nicodemus.
_______________________________________________ C++-sig mailing list C++-sig@python.org http://mail.python.org/mailman/listinfo/c++-sig
-- Patrick L. Hartling | Research Assistant, VRAC patrick@vrac.iastate.edu | 2624 Howe Hall: 1.515.294.4916 http://www.137.org/patrick/ | http://www.vrac.iastate.edu/
Patrick Hartling wrote:
Your change fixes the problem. Thanks very much.
I was playing with the examples in boost/libs/python/pyste/examples, and yes, for me, they are read-only files. I assume that's a result of the anonymous CVS checkout.
-Patrick
Great! If you have any ideas/problems, feel free to share/ask them. Pyste is a very young tool, and feedback is very important. Thanks again for the bug report, Nicodemus.
participants (3)
-
Nicodemus -
Niki Spahiev -
Patrick Hartling