Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Closed
Labels
Milestone
Description
We intend to switch the C/C++ extension build system to usepybind11
as discussed in this week's call. There is a demonstration in PR#23787 showing that the approach works and listing the pros and cons. It is too much work to do in a single PR so will probably be done one extension at a time. This issue is intended to track the overall progress by editing this post to tick the relevant check box and add the PR number for each extension completed.
C/C++ extensions:
agg
(start inConvert Agg extension to pybind11 #27011)c_internal_utils
(PR inUse pybind11 in _c_internal_utils module #26794)ft2font
(PR inConvert ft2font extension to pybind11 #28785)image
(implemented inUse pybind11 in image module #26275)path
Convert path extension to pybind11 #27087qhull
(PR inUse pybind11 for qhull wrapper #27184)tkagg
(PR inConvert TkAgg utilities to pybind11 #26992)tri
(implemented inUse pybind11 for tri module #24522)ttconv
(implemented inUse pybind11 in ttconv module #25253)macosx
(developer needs access to macOS)
Other work required:
- Update to use PEP517/518-complicant build system. Not strictly required but makes the build process simpler so ideally would be done before merging any specific extension PRs. Work on this has started inStart transitioning to pyproject.toml #23829; for
pybind11
we only really need the[build-system]
section ofpyproject.toml
which was added inSimplest pyproject.toml containing build-system only #24102. - Remove unneeded wrapper code in
src
directory such as thearray_view
class when all extensions completed.Pybind11 cleanup #28857 - Remove
numpy
as a build-time dependency when all extensions completed aspybind11
does not require it.Pybind11 cleanup #28857