expy is an expressway to extend python.
in release 0.5.2, expy now supports custom exceptions, besides all built-in ones, and exception handling is made easy.
for more info, see
I'm trying to port my posix_ipc extension to Python 3, and I'm
confused by the documentation for PyObject_HEAD and PyObject_VAR_HEAD.
My understanding is that a PyObject-derived type should begin its
PyTypeObject struct with PyObject_HEAD and a PyVarObject-derived type
with PyObject_VAR_HEAD. the documentation says of PyVarObject, "This
type does not often appear in the Python/C API."
The doc also says that PyObject_VAR_HEAD, "is used when declaring new
types which represent objects with a length that varies from instance
I assumed, then, that PyObject_VAR_HEAD would also appear
infrequently, but that's not the case at all. In fact, I can't find
PyObject_HEAD used at all in the Python 3.1.1 source code, whereas
PyObject_VAR_HEAD is used hundreds of times, including for objects
that don't have a length (like the float type, for instance).
Is the documentation wrong, or am I misreading it? Suggestions
EXPY 0.5.1 released, the exception raising feature is enhanced so that you can raise any builtin exceptions. Custom exceptions will be supported soon.
For more information, see http://expy.sourceforge.net/
EXPY is an expressway to extend Python!