[Vala] Python extensions in Vala (was: Operator overloading)



Michael Torrie wrote:
I wonder how easy it would be to write python extension modules using
Vala.

Well, Arc Riley and I are integrating Vala into the Python extension
build process right now for a couple of projects -- namely PySoy at
www.pysoy.org and Concordance-XMPP at www.concordance-xmpp.org.  You can
look at the libsoy branch of PySoy's Mercurial repository at
hg.pysoy.org if you would like to have a look at current progress.

We intend to build a Vala library with a set of classes for our
extensions, then use PyGObject to provide access to at least the
properties of those types to Python.

The reason we're working on this is that GObject-based objects don't
require GIL access to be manipulated, and so can be worked with by
non-GIL-holding C or Vala background threads concurrently with a
Python-interpreter-based main thread.  We're currently still planning on
using custom C extension glue code to handle the thread management and a
lot of the "heavy lifting" of managing these objects.

You might look to the PyBank project here: http://live.gnome.org/PyBank

It looks a bit immature to me, but if does get integrated into
PyGObject, it should be possible -- at least with Vala classes designed
to work neatly under it -- to automatically generate everything needed
to provide a Python extension module interface to Vala code from just
the vala files themselves, and maybe a bit of namespace-mangling glue.

--
Walter Mundt
emage spamcop net



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]