packaging.python.org icon indicating copy to clipboard operation
packaging.python.org copied to clipboard

Add more helper libraries to the extension modules page

Open ncoghlan opened this issue 8 years ago • 5 comments

Rather than creating multiple issues, I've expanded this one to include a checklist for popular extension module helpers that we don't currently mention:

  • [ ] SIP is the C/C++ binding generator used for PyQT and wxWindows: https://pypi.python.org/pypi/SIP/
  • [ ] PyCXX: http://cxx.sourceforge.net/PyCXX-Python3.html
  • [ ] Boost::Python: http://www.boost.org/doc/libs/1_66_0/libs/python/doc/html/index.html

(We may not go into as much detail for these as we do the big three of SWIG, cffi, and Cython, but they're all worth mentioning, especially in combination with #359 to cover milksnake as a meta build system that works with current versions of pip)


One of the neat features of sip specifically is that it can (does?) target the stable ABI in Python 3 at code generation time, with operations that require access to the full CPython API delegated to the runtime sip support module. As a result, it's possible to use it to ship version-independent CPython extension modules that just need the corresponding version of the sip runtime library, rather than having to recompile your own extensions for every new CPython release.

ncoghlan avatar Jul 27 '17 10:07 ncoghlan

The packaging binary extension page needs a lot of love right now: https://packaging.python.org/guides/packaging-binary-extensions/

I would love for someone to volunteer to write this as I do not really know anything about binary extensions. I will happy to help with layout, review, and editorial issues. They could even write it in Google Docs and I will transfer it to RST.

It likely needs to be split into multiple items, for example:

  1. An overview of binary extensions.
  2. Creating binary extensions using the CPython API.
  3. Creating binary extensions using Cython.
  4. Creating binary extensions using SIP. etc.

theacodes avatar Jul 28 '17 17:07 theacodes

@ncoghlan can you create a help wanted label for me?

theacodes avatar Jul 28 '17 17:07 theacodes

Thanks. :)

theacodes avatar Jul 28 '17 17:07 theacodes

Is anyone working on this right now?

If not, I think I can come around to writing this sometime in next month or two. :)

pradyunsg avatar Aug 25 '17 07:08 pradyunsg

Nope. Go for it.

On Fri, Aug 25, 2017, 12:13 AM Pradyun Gedam [email protected] wrote:

Is anyone working on this right now?

If not, I think I can come around to writing this sometime in next month or two. :)

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/pypa/python-packaging-user-guide/issues/355#issuecomment-324842223, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPUc9pWsl4sIq2pAET1TKs1WQwfWsqjks5sbnQngaJpZM4OlG4I .

theacodes avatar Aug 25 '17 14:08 theacodes