[Python-Dev] Addition of "pyprocessing" module to standard lib.

"Martin v. Löwis" martin at v.loewis.de
Wed May 21 20:57:33 CEST 2008


> As said before, PyOpenGL is an example of an extension that moved from C
> code to Python/ctypes, luckily we don't use it, but what if the
> maintainers of MySQL-Python or cx_Oracle decide to move to ctypes.
> Having the ctypes extension in the stdlib doesn't imply it runs on any
> platform where python runs. Extension writers should keep this in mind
> when they decide to use ctypes. They should document, that their
> extension depends on ctypes and therefore doesn't run on platforms where
> ctypes doesn't work.

Plus, even if ctypes works, the code might be incorrect, because they
had been assuming structure layouts and symbolic constants that have
just a different definition on some other platform, causing the
extension module to crash.

Writing portable ctypes modules is really hard - significantly harder
than writing portable C code (although writing non-portable ctypes
code is apparently easier than writing non-portable C code).

Regards,
Martin


More information about the Python-Dev mailing list