packaging.python.org
packaging.python.org copied to clipboard
Add more helper libraries to the extension modules page
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.