-
Notifications
You must be signed in to change notification settings - Fork 958
Opaque PyObject ABI support #5807
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
Open
ngoldbaum
wants to merge
82
commits into
PyO3:main
Choose a base branch
from
ngoldbaum:opaque-pyobject
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 33 commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
eb53c2d
Use PyModExport and PyABIInfo APIs in pymodule implementation
ngoldbaum e41b509
Add PyModExport function
ngoldbaum 91becaf
DNM: temporarily disable append_to_inittab doctest
ngoldbaum 1020688
fix issues seen on older pythons in CI
ngoldbaum 3afa9ae
fix incorrect ModuleDef setup on 3.15
ngoldbaum f8d6cae
Expose both the PyInit and PyModExport initialization hooks
ngoldbaum a590874
fix clippy
ngoldbaum a96219f
add changelog entry
ngoldbaum e7ac9c0
try use only slots for both init hooks on 3.15
ngoldbaum d981be7
Always pass m_name and m_doc, following cpython-gh-144340
ngoldbaum 55b6acd
WIP: opaque pyobject support (without Py_GIL_DISABLED)
ngoldbaum 733aa82
delete debug prints
ngoldbaum c43061e
WIP: fix segfault
ngoldbaum 3812a64
disable append_to_inittab tests
ngoldbaum 25a65a6
fix clippy
ngoldbaum 4a83024
fix ruff
ngoldbaum 9d0e2ed
implement David's suggestion for pyobject_subclassable_native_type
ngoldbaum a78b5df
replace skipped test with real test
ngoldbaum 42a73e1
fix check-feature-powerset
ngoldbaum 060c3ca
fix clippy-all
ngoldbaum c1bd2c7
skip test that depend on struct layout on opaque pyobject builds
ngoldbaum ba8b09a
Expose PyModuleDef as an opaque pointer on opaque PyObject builds
ngoldbaum f15a7fc
add comments about location of opaque pointers in CPython headers
ngoldbaum 3fa17d0
fix test_inherited_size
ngoldbaum 1970421
Fix doctest on _Py_OPAQUE_PYOBJECT builds
ngoldbaum 57c2045
Merge branch 'main' into opaque-pyobject
ngoldbaum f80849e
fix build error on non-opaque builds
ngoldbaum c0805a9
mark BaseWithoutData as subclassable
ngoldbaum 719cef5
relax assert for Windows
ngoldbaum 072ef0a
Make PyAny a PyVarObject only on the opaque PyObject build
ngoldbaum 0b743b6
Merge branch 'main' into opaque-pyobject
ngoldbaum 264307f
fix merge conflict resolution error
ngoldbaum ed48e75
fix buggy assertion
ngoldbaum b4138c4
Expose critical section in the limited API starting in Python 3.15
ngoldbaum f3ee6af
expose critical section API in limited API
ngoldbaum ba47f50
disable warning in pyo3-ffi build script on sufficiently new Pythons
ngoldbaum e52cb59
fixup features
ngoldbaum 3cf60b1
Add missing error handling for `PyModule_FromSlotsAndSpec`
ngoldbaum 607e4b0
Merge branch 'main' into expose-critical-section
ngoldbaum 449eb8a
passes cargo tests with the abi3t feature enabled
ngoldbaum 5371fd8
passes unit tests on GIL-enabled build with abi3t feature
ngoldbaum 19d78d2
fix merge mistake
ngoldbaum 14bf4d1
rustfmt
ngoldbaum 91a0419
fix FIXME
ngoldbaum 285e79c
Merge branch 'main' into opaque-pyobject
ngoldbaum 9f23720
replace extern "C" with extern_libpython!
ngoldbaum d38c274
fix test
ngoldbaum e2d8f8c
Merge branch 'opaque-pyobject' into expose-critical-section
ngoldbaum 15ff21c
fix merge error
ngoldbaum 930e1a9
Allow abi3t builds without critical section bindings
ngoldbaum a609f8c
add FIXME
ngoldbaum dd5b3a9
remove default feature
ngoldbaum 7419b86
fix syntax error in noxfile
ngoldbaum 603aaf9
fix issues spotted by clippy
ngoldbaum c9b9157
bring over refactoring from PyO3 PR
ngoldbaum 7560348
working!
ngoldbaum becc8af
Fix memory leak of iterator
ngoldbaum b734e77
fix size hints
ngoldbaum a6c8710
delete debug statement
ngoldbaum a827be9
Use Py_TARGET_ABI3T
ngoldbaum 0ceda48
run formatter
ngoldbaum d1ef669
fix check-feature-powerset
ngoldbaum 26c7dc0
increment SUPPORTED_VERSIONS_CPYTHON.max
ngoldbaum 95ca7d2
fix conditional compilation for critical section API
ngoldbaum b596885
fix ruff
ngoldbaum 22a5332
fix incorrect conditional compilation guargs
ngoldbaum ec1269a
fix noxfile and ban abi3t builds on 3.14 and older
ngoldbaum 04eb8bb
ruff format
ngoldbaum 101949c
attempt to fix semver-checks
ngoldbaum 828afdd
fix test-version-limits
ngoldbaum cd78153
fix issues spotted by claude
ngoldbaum 5e5671e
strip 't' for version parsing
ngoldbaum 266527f
Adjust comments and error messages
ngoldbaum 294a4f0
fix compiler warning
ngoldbaum b37445d
more noxfile fixes
ngoldbaum a2584f5
fix ruff
ngoldbaum 1b5ec7a
use a 3.15 interpreter to run the feature-powerset tests
ngoldbaum 553ef54
fix a few more issues caught by claude
ngoldbaum 2f755ae
add comment
ngoldbaum f326c74
Merge branch 'main' into opaque-pyobject
ngoldbaum 710e835
use correct windows library name for abi3t
ngoldbaum 861edd8
try to fix linking
ngoldbaum File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to replace this
extern "C"block withextern_libpython!- should fix the windows link issues.(Consequence of #5866)