-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
[MNT]: Pybind11 transition plan #23846
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
Comments
On a related note, has anyone tried out nanobind? It's probably a bit too new for us, but curious if anyone had any opinions on it. |
I just today migrated a (small) research project to As this project is array heavy Other advantages that are nice about
My first impressions are that it is great! |
I'm not sure about this one, as it doesn't use NumPy, and is written in Objective C, not C or C++. |
I agree pybind doesn't seem like the right fit. I have wondered if it'd be worthwhile to transition to use pyobjc at all so we could write the extension in Python code... https://pyobjc.readthedocs.io/en/latest/ |
The last PR #28785 does ft2font. After that there will be some clean up to remove the NumPy wrappers. |
We intend to switch the C/C++ extension build system to use
pybind11
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 in Convert Agg extension to pybind11 #27011)c_internal_utils
(PR in Use pybind11 in _c_internal_utils module #26794)ft2font
(PR in Convert ft2font extension to pybind11 #28785)image
(implemented in Use pybind11 in image module #26275)path
Convert path extension to pybind11 #27087qhull
(PR in Use pybind11 for qhull wrapper #27184)tkagg
(PR in Convert TkAgg utilities to pybind11 #26992)tri
(implemented in Use pybind11 for tri module #24522)ttconv
(implemented in Use pybind11 in ttconv module #25253)macosx
(developer needs access to macOS)Other work required:
pybind11
we only really need the[build-system]
section ofpyproject.toml
which was added in Simplest pyproject.toml containing build-system only #24102.src
directory such as thearray_view
class when all extensions completed. Pybind11 cleanup #28857numpy
as a build-time dependency when all extensions completed aspybind11
does not require it. Pybind11 cleanup #28857The text was updated successfully, but these errors were encountered: