New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Page isn't finished: https://packaging.python.org/extensions/ #284
Comments
The two main options I'm currently aware of for this are:
That gives you a full-fledged build system to use (Scons), with some additions for also emitting Python packages as a build output, rather than having to figure out how to teach
This option is OK for simple extension modules, including CFFI wrappers as described in http://cffi.readthedocs.io/en/latest/cdef.html So a possible subsection structure that might work:
Other (also incomplete) sections that could potentially be referenced:
|
I added a link to the CPython tutorial on writing extension modules by hand: 532268a I also added a link from the publishing section back to this issue. |
Perhaps another topic to include in this section, if not discussed elsewhere, is how to package extensions modules built with multiple ABIs, in particular, non-debug vs debug builds. For Python 3.x, PEP 3149 and follow-ons provide ABI-unique extension module file names so that they can be installed in the same directory. (Python 2 does not attempt to address this.) |
While looking around for this kind of information, I also found CMake python integration (see here and there) Another (related) point: |
@asmodehn Yes, end users being free to build the extension for themselves is why we discourage wheel-only distribution - we prefer publishers to offer both an sdist (for folks that want to build from source) and wheels (for folks that may not even have the appropriate compilation toolchains available). |
scikit-build is another option for CMake integration: #381 |
I'm particularly interested in the last header: https://packaging.python.org/extensions/#publishing-binary-extensions which is completely empty =0
The text was updated successfully, but these errors were encountered: