Skip to content
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

Investigate moving '_inlines' and '_protocols' to shared libraries #617

Open
ronaldoussoren opened this issue Jul 14, 2024 · 1 comment
Open
Labels

Comments

@ronaldoussoren
Copy link
Owner

The `_inline_tab' is currently exported from a Python extension module, it might be possible to just use the dlopen API directly to load the library and extract the symbol from it.

A number of framework bindings have a helper exension module that just ensures that the protocols defined in the framework are available. Those could be plain dylibs that are loaded using dlopen.

Both changes would convert a number of framework bindings to not having extension modules, making them platform dependent python only wheels.

Currently not particularly important, but switching to multi-phase init for #608 requires dropping usage of the limited API / stable ABI and that results in more python version specific wheels.

Note that this may require changes to py2app to end up with nice app bundles.

@ronaldoussoren
Copy link
Owner Author

Easy way to find all candidates: look for Py_MOD_PER_INTERPRETER_GIL_SUPPORTED once all extensions have been converted to multi phase init.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant