How to create a python extension module from a shared library?

James Chapman james at uplinkzero.com
Wed Jan 3 05:30:19 EST 2018


In my opinion, just write your extension in C following the traditional
extension development guidelines unless you plan to actively maintain and
contribute your changes in the relevant projects (CFFI and uWSGI).

Assuming you get this to work, you're going to have to support it and bug
fix it. Something that initially will not be too difficult because it will
all be fresh in your head, but 6 months down the line when you want to
change something or discover a bug it's going to be very difficult. Will
you be able to attach a debugger and step through the code?

I've been down the route of trying to do something clever and even
succeeded. I then later regretted it, because what seemed like a good idea
at the time turned out to be a PITA to support. Go with what's supported,
go with what's documented, don't modify core components if you don't
absolutely have to, because you'll have to modify those components with
each update and ultimately you just end up generating work for yourself.


James



On 2 January 2018 at 21:21, Etienne Robillard <tkadm30 at yandex.com> wrote:

> Hi James,
>
> Part of the problem is because the CFFI and uWSGI developers aren't
> interested to support this. I need to modify CFFI to support preprocessing
> C headers with clang.cindex myself.
>
> I also need to make sure its possible to attach my Python script to the
> master uWSGI process to dispatch FIFO commands.
>
> Clang is needed because CFFI doesn't support preprocessing C headers with
> #define or #include directives.
>
> Best regards,
>
> Etienne
>
>



More information about the Python-list mailing list