Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
dfcebae
Add option EnableAbi3t
fangerer Aug 20, 2026
09b8018
Add ext suffixes for abi3t
fangerer Aug 20, 2026
e188d6f
Add ABI param to CApiBuiltin
fangerer Aug 20, 2026
f0ba05f
Add ABI3T native export audit
fangerer Aug 20, 2026
75d401e
Extract common error message
fangerer Aug 20, 2026
dc53e46
Eliminate obsolete CExtContext
fangerer Aug 20, 2026
61ee68d
Remove unused ReferenceStack
fangerer Aug 20, 2026
a691d7f
Remove unused CExtCommonNodes.Charsets
fangerer Aug 20, 2026
05f8995
Remove unused CApiContext.dlopenFlagsToString
fangerer Aug 20, 2026
83e1884
Add _imp multi-interpreter extension check override
fangerer Aug 24, 2026
b16ad01
Implement support for creating modules from slots
fangerer Aug 24, 2026
f16e42d
Add ABI3T module C API upcalls
fangerer Aug 25, 2026
4fd4930
Add optional abi3t wheel installation support
fangerer Aug 24, 2026
9532291
Make C API signature validation ABI-aware
fangerer Aug 25, 2026
a221b21
Remove obsolete native library retention list
fangerer Aug 26, 2026
aa2ea2a
Fix stable ABI check on Python 3.8
fangerer Aug 26, 2026
86bab20
Unify module method installation
fangerer Aug 26, 2026
be0f67f
Suppress MSVC anonymous union warning
fangerer Aug 27, 2026
0630a8a
Fix abi3t smoke test linking on Windows
fangerer Aug 27, 2026
c673f8c
Rename init*CApiModule methods
fangerer Sep 1, 2026
2659f01
Move native module fields to companion
fangerer Sep 1, 2026
e803fb4
Gate experimental ABI3T API behind target macro
fangerer Sep 11, 2026
ca720b5
Make CApiContext.gcTask private
fangerer Sep 11, 2026
2b5582d
Disable flaky test_multiprocessing_spawn.test_large_pool linux-aarch64
fangerer Sep 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
958 changes: 958 additions & 0 deletions abi/abi3t-linux.txt

Large diffs are not rendered by default.

64 changes: 64 additions & 0 deletions abi/abi3t-missing-linux.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
FUNC PyEval_AcquireLock
FUNC PyEval_CallFunction
FUNC PyEval_CallMethod
FUNC PyEval_ReleaseLock
FUNC PyInterpreterGuard_Close
FUNC PyInterpreterGuard_FromCurrent
FUNC PyInterpreterGuard_FromView
FUNC PyInterpreterView_Close
FUNC PyInterpreterView_FromCurrent
FUNC PyInterpreterView_FromMain
FUNC PyIter_NextItem
FUNC PyLongWriter_Create
FUNC PyLongWriter_Discard
FUNC PyLongWriter_Finish
FUNC PyLong_AsInt32
FUNC PyLong_AsInt64
FUNC PyLong_AsUInt32
FUNC PyLong_AsUInt64
FUNC PyLong_Export
FUNC PyLong_FreeExport
FUNC PyLong_FromInt32
FUNC PyLong_FromInt64
FUNC PyLong_FromUInt32
FUNC PyLong_FromUInt64
FUNC PyLong_GetNativeLayout
FUNC PyObject_GetTypeData_DuringGC
FUNC PySys_AddWarnOption
FUNC PySys_AddWarnOptionUnicode
FUNC PySys_AddXOption
FUNC PySys_GetAttr
FUNC PySys_GetAttrString
FUNC PySys_GetOptionalAttr
FUNC PySys_GetOptionalAttrString
FUNC PySys_HasWarnOptions
FUNC PySys_SetPath
FUNC PyThreadState_Ensure
FUNC PyThreadState_EnsureFromView
FUNC PyThreadState_Release
FUNC PyType_Freeze
FUNC PyType_FromSlots
FUNC PyType_GetBaseByToken
FUNC PyType_GetBaseByToken_DuringGC
FUNC PyType_GetModuleByToken
FUNC PyType_GetModuleByToken_DuringGC
FUNC PyType_GetModuleState_DuringGC
FUNC PyType_GetModule_DuringGC
FUNC PyUnicode_Equal
OBJECT Py_FileSystemDefaultEncodeErrors
OBJECT Py_HasFileSystemDefaultEncoding
FUNC Py_IS_TYPE
FUNC Py_PACK_FULL_VERSION
FUNC Py_PACK_VERSION
FUNC Py_SET_SIZE
FUNC Py_SIZE
FUNC Py_SetPath
FUNC Py_TYPE
FUNC _PyState_AddModule
FUNC _PyThreadState_Init
FUNC _PyThreadState_Prealloc
OBJECT _Py_EllipsisObject
OBJECT _Py_FalseStruct
OBJECT _Py_NoneStruct
OBJECT _Py_NotImplementedStruct
OBJECT _Py_TrueStruct
4 changes: 4 additions & 0 deletions abi/suppressions-graalpy253.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[suppress_function]
label = Experimental ABI3T functions
symbol_name_regexp = ^(PyABIInfo_Check|PyModule_Exec|PyModule_FromSlotsAndSpec|PyModule_GetStateSize|PyModule_GetState_DuringGC|PyModule_GetToken|PyModule_GetToken_DuringGC)$
drop = true
19 changes: 19 additions & 0 deletions capi-abis.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# C API signature and export profiles. Paths are relative to the repository root.

[profiles.GRAALPY]
python_version = "3.13"
source_ref = "v3.13.14"
mode = "full"
defines = []
inventory = "graalpython/com.oracle.graal.python.cext/CAPIFunctions.txt"

[profiles.ABI3T]
parent = "GRAALPY"
python_version = "3.15"
source_ref = "v3.15.0rc1"
mode = "stable"
defines = ["Py_TARGET_ABI3T=0x030f0000"]
inventory = "graalpython/com.oracle.graal.python.cext/CAPIFunctions-ABI3T.txt"
export_manifest = "abi/abi3t-linux.txt"
missing_symbols = "abi/abi3t-missing-linux.txt"
disabled_features = ["MS_WINDOWS", "Py_REF_DEBUG", "USE_STACKCHECK"]
Loading
Loading