2008-07-27

PyBindGen 0.9 released

Get it while it's hot:

http://code.google.com/p/pybindgen/

It's far from perfect released, but API should become more or less stable starting with this release, and NS-3 is using this code with success. Also most features that I need are there.

Oh, and here's the NEWS related to this release:


=== pybindgen 0.9 ===
- Fix GCC 4.2 compilation warnings;
- Works with some GCCXML 0.9/cvs snapshots (tested with 2008-04-20),
in addition to stable 0.7;
- Support for overloaded virtual methods;
- Add 'ignore' annotation support, allowing to ignore functions
and methods;
- Generally work hard to make sure the generated code at least
always compiles, even if we have to disable generation of
certain wrappers;
- Add support for protected methods and constructors;
- Preliminary support for templated classes/methods/functions;
- Add more type conversions, such as uint64_t and uint16_t;
- Support implicit conversions also for pass-by-reference parameters;
- Add supported for nested (i.e. defined inside a class) enums and classes;
- Add support for adding manually written custom method or function wrappers;
- Split the gccxmlparser.ModuleParser.parse() method into several
smaller methods, to allow greater customization and flexibility;
- Add support for customising C++ class instance creation code;
- Much improved support for wrapping pure C code;
- Support std::ostream << myobject mapped as str(myobject) (Mathieu Lacage)
- Support default values in parameters;
- More intuitive API (thanks Mathieu Lacage for feedback)
- Support generation of a Python pybindgen script from scanned API;
- Support splitting of generated python script and/or C/C++ module into several files;
- Lots of small bug fixes, and other features I probably forgot;
- New tutorial (thanks Mathieu Lacage), and API docs.


2008-07-12

PyBindGen has new home page

PyBindGen finally has a home page: http://code.google.com/p/pybindgen/

Why it needs a home page:
  • Launchpad does not directly provide downloads, it only mirrors existing downloads;
  • Launchpad has no Wiki;
  • Launchpad does not allow me to host documentation.
So I decided to use Google Projects for hosting PyBindGen. So now we have:
  • Documentation is hosted in the google project. I upload it via subversion (slightly painful but doable), and users can browse the svn http url directly to view the documentation online;
  • Wiki pages are always useful and google project has a good wiki system;
  • Downloads in google project.. currently no downloads, but I'll put them up some other day;
  • Bug tracking and code hosting are still handled by launchpad, as usual. Thankfully google project allows me to override the Source and Issues tabs, to redirect users to launchpad instead.
In other news, pybindgen based python bindings for NS-3 have finally been merged!

2008-07-01

NS-3 released first stable version

Finally, the "1.0" version of NS-3 has been released! This work represents a huge amount of effort by some very talented people.