1# This file lists the contents of the Limited API and Stable ABI. 2# Please append new items at the end. 3 4# The syntax of this file is not fixed. 5# It is designed to be read only by Tools/build/stable_abi.py, which can change 6# without notice. 7 8# For the history of the stable ABI prior to this file, 9# see the history of PC/python3dll.c and before that, PC/python3.def, 10# and PC/pythonXYstub.def 11 12 13# The current format is TOML. 14 15# There are these kinds of top-level "items": 16# - struct: A C struct. See `struct_abi_kind` for how much of the struct is 17# exposed. 18# - function: A function that must be kept available (and exported, i.e. not 19# converted to a macro). 20# - const: A simple value, defined with `#define`. 21# - macro: A preprocessor macro more complex than a simple `const` value. 22# - data: An exported object, which must continue to be available but its exact 23# value may change. 24# - typedef: A C typedef which is used in other definitions in the limited API. 25# Its size/layout/signature must not change. 26# - feature_macro: Other items may be conditional on whether this macro 27# is defined or not. 28 29# Each top-level item can have details defined for it: 30# - added: The version in which the item was added to the stable ABI. 31# - ifdef: The item is only available if the given feature_macro is defined. 32# - abi_only: If present, the item is not part of the Limited API, but it *is* 33# part of the stable ABI. The item will not show up in user-facing docs. 34# Typically used for: 35# - private functions called by public macros, e.g. _Py_BuildValue_SizeT 36# - items that were part of the limited API in the past, and must remain part 37# of the stable ABI. 38# - a combination of the above (functions that were called by macros that 39# were public in the past) 40# - struct_abi_kind: for `struct`, defines how much of the struct is exposed: 41# - 'full-abi': All of the struct is part of the ABI, including the size 42# (users may define arrays of these structs). 43# Typically used for initalization, rather than at runtime. 44# - 'opaque': No members are part of the ABI, nor is the size. The Limited 45# API only handles these via pointers. The C definition should be 46# incomplete (opaque). 47# - 'members': Only specific members are part of the stable ABI. 48# The struct's size may change, so it can't be used in arrays. 49# Do not add new structs of this kind without an extremely good reason. 50# - members: For `struct` with struct_abi_kind = 'members', a list of the 51# exposed members. 52# - doc: for `feature_macro`, the blurb added in documentation 53# - windows: for `feature_macro`, this macro is defined on Windows. 54# (This info is used to generate the DLL manifest and needs to be available 55# on all platforms.) 56 57# Removing items from this file is generally not allowed, and additions should 58# be considered with that in mind. See the devguide for exact rules: 59# https://devguide.python.org/c-api/#limited-api 60 61# User-facing docs are at: 62# https://docs.python.org/3/c-api/stable.html#stable 63 64 65# Feature macros for optional functionality: 66 67[feature_macro.MS_WINDOWS] 68 doc = 'on Windows' 69 windows = true 70[feature_macro.HAVE_FORK] 71 doc = 'on platforms with fork()' 72[feature_macro.USE_STACKCHECK] 73 doc = 'on platforms with USE_STACKCHECK' 74 windows = 'maybe' 75[feature_macro.PY_HAVE_THREAD_NATIVE_ID] 76 doc = 'on platforms with native thread IDs' 77 windows = true 78[feature_macro.Py_REF_DEBUG] 79 doc = 'when Python is compiled in debug mode (with Py_REF_DEBUG)' 80 windows = 'maybe' 81[feature_macro.Py_TRACE_REFS] 82 # nb. This mode is not compatible with Stable ABI/Limited API. 83 doc = 'when Python is compiled with Py_TRACE_REFS' 84 windows = 'maybe' 85 86 87# Mentioned in PEP 384: 88 89[struct.PyObject] 90 added = '3.2' 91 members = ['ob_refcnt', 'ob_type'] 92 struct_abi_kind = 'members' 93[struct.PyVarObject] 94 added = '3.2' 95 members = ['ob_base', 'ob_size'] 96 struct_abi_kind = 'members' 97[struct.PyMethodDef] 98 added = '3.2' 99 struct_abi_kind = 'full-abi' 100[struct.PyMemberDef] 101 added = '3.2' # Before 3.12, PyMemberDef required #include "structmember.h" 102 struct_abi_kind = 'full-abi' 103[struct.PyGetSetDef] 104 added = '3.2' 105 struct_abi_kind = 'full-abi' 106[struct.PyModuleDef_Base] 107 added = '3.2' 108 struct_abi_kind = 'full-abi' 109[struct.PyModuleDef] 110 added = '3.2' 111 struct_abi_kind = 'full-abi' 112[struct.PyStructSequence_Field] 113 added = '3.2' 114 struct_abi_kind = 'full-abi' 115[struct.PyStructSequence_Desc] 116 added = '3.2' 117 struct_abi_kind = 'full-abi' 118[struct.PyType_Slot] 119 added = '3.2' 120 struct_abi_kind = 'full-abi' 121[struct.PyType_Spec] 122 added = '3.2' 123 struct_abi_kind = 'full-abi' 124[struct.PyThreadState] 125 added = '3.2' 126 struct_abi_kind = 'opaque' 127[struct.PyInterpreterState] 128 added = '3.2' 129 struct_abi_kind = 'opaque' 130[struct.PyFrameObject] 131 added = '3.2' 132 struct_abi_kind = 'opaque' 133[struct.symtable] 134 added = '3.2' 135 struct_abi_kind = 'opaque' 136[struct.PyWeakReference] 137 added = '3.2' 138 struct_abi_kind = 'opaque' 139[struct.PyLongObject] 140 added = '3.2' 141 struct_abi_kind = 'opaque' 142[struct.PyTypeObject] 143 added = '3.2' 144 struct_abi_kind = 'opaque' 145 146[function.PyType_FromSpec] 147 added = '3.2' 148 149[const.Py_tp_dealloc] 150 added = '3.2' 151[const.Py_tp_getattr] 152 added = '3.2' 153[const.Py_tp_setattr] 154 added = '3.2' 155[const.Py_tp_repr] 156 added = '3.2' 157[const.Py_tp_hash] 158 added = '3.2' 159[const.Py_tp_call] 160 added = '3.2' 161[const.Py_tp_str] 162 added = '3.2' 163[const.Py_tp_getattro] 164 added = '3.2' 165[const.Py_tp_setattro] 166 added = '3.2' 167[const.Py_tp_doc] 168 added = '3.2' 169[const.Py_tp_traverse] 170 added = '3.2' 171[const.Py_tp_clear] 172 added = '3.2' 173[const.Py_tp_richcompare] 174 added = '3.2' 175[const.Py_tp_iter] 176 added = '3.2' 177[const.Py_tp_iternext] 178 added = '3.2' 179[const.Py_tp_methods] 180 added = '3.2' 181[const.Py_tp_base] 182 added = '3.2' 183[const.Py_tp_descr_get] 184 added = '3.2' 185[const.Py_tp_descr_set] 186 added = '3.2' 187[const.Py_tp_init] 188 added = '3.2' 189[const.Py_tp_alloc] 190 added = '3.2' 191[const.Py_tp_new] 192 added = '3.2' 193[const.Py_tp_members] 194 added = '3.2' 195[const.Py_tp_getset] 196 added = '3.2' 197[const.Py_tp_free] 198 added = '3.2' 199[const.Py_tp_is_gc] 200 added = '3.2' 201[const.Py_tp_bases] 202 added = '3.2' 203[const.Py_tp_del] 204 added = '3.2' 205[const.Py_nb_add] 206 added = '3.2' 207[const.Py_nb_subtract] 208 added = '3.2' 209[const.Py_nb_multiply] 210 added = '3.2' 211[const.Py_nb_remainder] 212 added = '3.2' 213[const.Py_nb_divmod] 214 added = '3.2' 215[const.Py_nb_power] 216 added = '3.2' 217[const.Py_nb_negative] 218 added = '3.2' 219[const.Py_nb_positive] 220 added = '3.2' 221[const.Py_nb_absolute] 222 added = '3.2' 223[const.Py_nb_bool] 224 added = '3.2' 225[const.Py_nb_invert] 226 added = '3.2' 227[const.Py_nb_lshift] 228 added = '3.2' 229[const.Py_nb_rshift] 230 added = '3.2' 231[const.Py_nb_and] 232 added = '3.2' 233[const.Py_nb_xor] 234 added = '3.2' 235[const.Py_nb_or] 236 added = '3.2' 237[const.Py_nb_int] 238 added = '3.2' 239[const.Py_nb_float] 240 added = '3.2' 241[const.Py_nb_inplace_add] 242 added = '3.2' 243[const.Py_nb_inplace_subtract] 244 added = '3.2' 245[const.Py_nb_inplace_multiply] 246 added = '3.2' 247[const.Py_nb_inplace_remainder] 248 added = '3.2' 249[const.Py_nb_inplace_power] 250 added = '3.2' 251[const.Py_nb_inplace_lshift] 252 added = '3.2' 253[const.Py_nb_inplace_rshift] 254 added = '3.2' 255[const.Py_nb_inplace_and] 256 added = '3.2' 257[const.Py_nb_inplace_xor] 258 added = '3.2' 259[const.Py_nb_inplace_or] 260 added = '3.2' 261[const.Py_nb_floor_divide] 262 added = '3.2' 263[const.Py_nb_true_divide] 264 added = '3.2' 265[const.Py_nb_inplace_floor_divide] 266 added = '3.2' 267[const.Py_nb_inplace_true_divide] 268 added = '3.2' 269[const.Py_nb_index] 270 added = '3.2' 271[const.Py_sq_length] 272 added = '3.2' 273[const.Py_sq_concat] 274 added = '3.2' 275[const.Py_sq_repeat] 276 added = '3.2' 277[const.Py_sq_item] 278 added = '3.2' 279[const.Py_sq_ass_item] 280 added = '3.2' 281[const.Py_sq_contains] 282 added = '3.2' 283[const.Py_sq_inplace_concat] 284 added = '3.2' 285[const.Py_sq_inplace_repeat] 286 added = '3.2' 287[const.Py_mp_length] 288 added = '3.2' 289[const.Py_mp_subscript] 290 added = '3.2' 291[const.Py_mp_ass_subscript] 292 added = '3.2' 293 294[typedef.Py_uintptr_t] 295 added = '3.2' 296[typedef.Py_intptr_t] 297 added = '3.2' 298[typedef.Py_ssize_t] 299 added = '3.2' 300[typedef.unaryfunc] 301 added = '3.2' 302[typedef.binaryfunc] 303 added = '3.2' 304[typedef.ternaryfunc] 305 added = '3.2' 306[typedef.inquiry] 307 added = '3.2' 308[typedef.lenfunc] 309 added = '3.2' 310[typedef.ssizeargfunc] 311 added = '3.2' 312[typedef.ssizessizeargfunc] 313 added = '3.2' 314[typedef.ssizeobjargproc] 315 added = '3.2' 316[typedef.ssizessizeobjargproc] 317 added = '3.2' 318[typedef.objobjargproc] 319 added = '3.2' 320[typedef.objobjproc] 321 added = '3.2' 322[typedef.visitproc] 323 added = '3.2' 324[typedef.traverseproc] 325 added = '3.2' 326[typedef.destructor] 327 added = '3.2' 328[typedef.getattrfunc] 329 added = '3.2' 330[typedef.getattrofunc] 331 added = '3.2' 332[typedef.setattrfunc] 333 added = '3.2' 334[typedef.setattrofunc] 335 added = '3.2' 336[typedef.reprfunc] 337 added = '3.2' 338[typedef.hashfunc] 339 added = '3.2' 340[typedef.richcmpfunc] 341 added = '3.2' 342[typedef.getiterfunc] 343 added = '3.2' 344[typedef.iternextfunc] 345 added = '3.2' 346[typedef.descrgetfunc] 347 added = '3.2' 348[typedef.descrsetfunc] 349 added = '3.2' 350[typedef.initproc] 351 added = '3.2' 352[typedef.newfunc] 353 added = '3.2' 354[typedef.allocfunc] 355 added = '3.2' 356[typedef.PyCFunction] 357 added = '3.2' 358[typedef.PyCFunctionWithKeywords] 359 added = '3.2' 360[typedef.PyCapsule_Destructor] 361 added = '3.2' 362[typedef.getter] 363 added = '3.2' 364[typedef.setter] 365 added = '3.2' 366[typedef.PyOS_sighandler_t] 367 added = '3.2' 368[typedef.PyGILState_STATE] 369 added = '3.2' 370[typedef.Py_UCS4] 371 added = '3.2' 372 373[macro.Py_BEGIN_ALLOW_THREADS] 374 added = '3.2' 375[macro.Py_BLOCK_THREADS] 376 added = '3.2' 377[macro.Py_UNBLOCK_THREADS] 378 added = '3.2' 379[macro.Py_END_ALLOW_THREADS] 380 added = '3.2' 381 382# The following were added in PC/python3.def in the initial stable ABI commit, 383# 4d0d471a8031de90a2b1ce99c4ac4780e60b3bc9, 384# and later amendments in 3.2: 385# 0d012f284be829c6217f60523db0e1671b7db9d9 386# c83bc3c1fbed14d27a5de3032e24d2cf006a7c4b 387 388[function.PyArg_Parse] 389 added = '3.2' 390[function.PyArg_ParseTuple] 391 added = '3.2' 392[function.PyArg_ParseTupleAndKeywords] 393 added = '3.2' 394[function.PyArg_UnpackTuple] 395 added = '3.2' 396[function.PyArg_VaParse] 397 added = '3.2' 398[function.PyArg_VaParseTupleAndKeywords] 399 added = '3.2' 400[function.PyArg_ValidateKeywordArguments] 401 added = '3.2' 402[data.PyBaseObject_Type] 403 added = '3.2' 404[function.PyBool_FromLong] 405 added = '3.2' 406[data.PyBool_Type] 407 added = '3.2' 408[data.PyByteArrayIter_Type] 409 added = '3.2' 410[function.PyByteArray_AsString] 411 added = '3.2' 412[function.PyByteArray_Concat] 413 added = '3.2' 414[function.PyByteArray_FromObject] 415 added = '3.2' 416[function.PyByteArray_FromStringAndSize] 417 added = '3.2' 418[function.PyByteArray_Resize] 419 added = '3.2' 420[function.PyByteArray_Size] 421 added = '3.2' 422[data.PyByteArray_Type] 423 added = '3.2' 424[data.PyBytesIter_Type] 425 added = '3.2' 426[function.PyBytes_AsString] 427 added = '3.2' 428[function.PyBytes_AsStringAndSize] 429 added = '3.2' 430[function.PyBytes_Concat] 431 added = '3.2' 432[function.PyBytes_ConcatAndDel] 433 added = '3.2' 434[function.PyBytes_DecodeEscape] 435 added = '3.2' 436[function.PyBytes_FromFormat] 437 added = '3.2' 438[function.PyBytes_FromFormatV] 439 added = '3.2' 440[function.PyBytes_FromObject] 441 added = '3.2' 442[function.PyBytes_FromString] 443 added = '3.2' 444[function.PyBytes_FromStringAndSize] 445 added = '3.2' 446[function.PyBytes_Repr] 447 added = '3.2' 448[function.PyBytes_Size] 449 added = '3.2' 450[data.PyBytes_Type] 451 added = '3.2' 452[function.PyCFunction_Call] 453 added = '3.2' 454 abi_only = true 455[function.PyCFunction_GetFlags] 456 added = '3.2' 457[function.PyCFunction_GetFunction] 458 added = '3.2' 459[function.PyCFunction_GetSelf] 460 added = '3.2' 461[function.PyCFunction_NewEx] 462 added = '3.2' 463[data.PyCFunction_Type] 464 added = '3.2' 465[function.PyCallIter_New] 466 added = '3.2' 467[data.PyCallIter_Type] 468 added = '3.2' 469[function.PyCallable_Check] 470 added = '3.2' 471[function.PyCapsule_GetContext] 472 added = '3.2' 473[function.PyCapsule_GetDestructor] 474 added = '3.2' 475[function.PyCapsule_GetName] 476 added = '3.2' 477[function.PyCapsule_GetPointer] 478 added = '3.2' 479[function.PyCapsule_Import] 480 added = '3.2' 481[function.PyCapsule_IsValid] 482 added = '3.2' 483[function.PyCapsule_New] 484 added = '3.2' 485[function.PyCapsule_SetContext] 486 added = '3.2' 487[function.PyCapsule_SetDestructor] 488 added = '3.2' 489[function.PyCapsule_SetName] 490 added = '3.2' 491[function.PyCapsule_SetPointer] 492 added = '3.2' 493[data.PyCapsule_Type] 494 added = '3.2' 495[data.PyClassMethodDescr_Type] 496 added = '3.2' 497[function.PyCodec_BackslashReplaceErrors] 498 added = '3.2' 499[function.PyCodec_Decode] 500 added = '3.2' 501[function.PyCodec_Decoder] 502 added = '3.2' 503[function.PyCodec_Encode] 504 added = '3.2' 505[function.PyCodec_Encoder] 506 added = '3.2' 507[function.PyCodec_IgnoreErrors] 508 added = '3.2' 509[function.PyCodec_IncrementalDecoder] 510 added = '3.2' 511[function.PyCodec_IncrementalEncoder] 512 added = '3.2' 513[function.PyCodec_KnownEncoding] 514 added = '3.2' 515[function.PyCodec_LookupError] 516 added = '3.2' 517[function.PyCodec_Register] 518 added = '3.2' 519[function.PyCodec_RegisterError] 520 added = '3.2' 521[function.PyCodec_ReplaceErrors] 522 added = '3.2' 523[function.PyCodec_StreamReader] 524 added = '3.2' 525[function.PyCodec_StreamWriter] 526 added = '3.2' 527[function.PyCodec_StrictErrors] 528 added = '3.2' 529[function.PyCodec_XMLCharRefReplaceErrors] 530 added = '3.2' 531[function.PyComplex_FromDoubles] 532 added = '3.2' 533[function.PyComplex_ImagAsDouble] 534 added = '3.2' 535[function.PyComplex_RealAsDouble] 536 added = '3.2' 537[data.PyComplex_Type] 538 added = '3.2' 539[function.PyDescr_NewClassMethod] 540 added = '3.2' 541[function.PyDescr_NewGetSet] 542 added = '3.2' 543[function.PyDescr_NewMember] 544 added = '3.2' 545[function.PyDescr_NewMethod] 546 added = '3.2' 547[data.PyDictItems_Type] 548 added = '3.2' 549[data.PyDictIterItem_Type] 550 added = '3.2' 551[data.PyDictIterKey_Type] 552 added = '3.2' 553[data.PyDictIterValue_Type] 554 added = '3.2' 555[data.PyDictKeys_Type] 556 added = '3.2' 557[function.PyDictProxy_New] 558 added = '3.2' 559[data.PyDictProxy_Type] 560 added = '3.2' 561[data.PyDictValues_Type] 562 added = '3.2' 563[function.PyDict_Clear] 564 added = '3.2' 565[function.PyDict_Contains] 566 added = '3.2' 567[function.PyDict_Copy] 568 added = '3.2' 569[function.PyDict_DelItem] 570 added = '3.2' 571[function.PyDict_DelItemString] 572 added = '3.2' 573[function.PyDict_GetItem] 574 added = '3.2' 575[function.PyDict_GetItemString] 576 added = '3.2' 577[function.PyDict_GetItemWithError] 578 added = '3.2' 579[function.PyDict_Items] 580 added = '3.2' 581[function.PyDict_Keys] 582 added = '3.2' 583[function.PyDict_Merge] 584 added = '3.2' 585[function.PyDict_MergeFromSeq2] 586 added = '3.2' 587[function.PyDict_New] 588 added = '3.2' 589[function.PyDict_Next] 590 added = '3.2' 591[function.PyDict_SetItem] 592 added = '3.2' 593[function.PyDict_SetItemString] 594 added = '3.2' 595[function.PyDict_Size] 596 added = '3.2' 597[data.PyDict_Type] 598 added = '3.2' 599[function.PyDict_Update] 600 added = '3.2' 601[function.PyDict_Values] 602 added = '3.2' 603[data.PyEllipsis_Type] 604 added = '3.2' 605[data.PyEnum_Type] 606 added = '3.2' 607[function.PyErr_BadArgument] 608 added = '3.2' 609[function.PyErr_BadInternalCall] 610 added = '3.2' 611[function.PyErr_CheckSignals] 612 added = '3.2' 613[function.PyErr_Clear] 614 added = '3.2' 615[function.PyErr_Display] 616 added = '3.2' 617[function.PyErr_DisplayException] 618 added = '3.12' 619[function.PyErr_ExceptionMatches] 620 added = '3.2' 621[function.PyErr_Fetch] 622 added = '3.2' 623[function.PyErr_Format] 624 added = '3.2' 625[function.PyErr_GivenExceptionMatches] 626 added = '3.2' 627[function.PyErr_NewException] 628 added = '3.2' 629[function.PyErr_NewExceptionWithDoc] 630 added = '3.2' 631[function.PyErr_NoMemory] 632 added = '3.2' 633[function.PyErr_NormalizeException] 634 added = '3.2' 635[function.PyErr_Occurred] 636 added = '3.2' 637[function.PyErr_Print] 638 added = '3.2' 639[function.PyErr_PrintEx] 640 added = '3.2' 641[function.PyErr_ProgramText] 642 added = '3.2' 643[function.PyErr_Restore] 644 added = '3.2' 645[function.PyErr_SetFromErrno] 646 added = '3.2' 647[function.PyErr_SetFromErrnoWithFilename] 648 added = '3.2' 649[function.PyErr_SetFromErrnoWithFilenameObject] 650 added = '3.2' 651[function.PyErr_SetInterrupt] 652 added = '3.2' 653[function.PyErr_SetNone] 654 added = '3.2' 655[function.PyErr_SetObject] 656 added = '3.2' 657[function.PyErr_SetString] 658 added = '3.2' 659[function.PyErr_SyntaxLocation] 660 added = '3.2' 661[function.PyErr_WarnEx] 662 added = '3.2' 663[function.PyErr_WarnExplicit] 664 added = '3.2' 665[function.PyErr_WarnFormat] 666 added = '3.2' 667[function.PyErr_WriteUnraisable] 668 added = '3.2' 669[function.PyEval_AcquireLock] 670 added = '3.2' 671 abi_only = true 672[function.PyEval_AcquireThread] 673 added = '3.2' 674[function.PyEval_CallFunction] 675 added = '3.2' 676 abi_only = true 677[function.PyEval_CallMethod] 678 added = '3.2' 679 abi_only = true 680[function.PyEval_CallObjectWithKeywords] 681 added = '3.2' 682 abi_only = true 683[function.PyEval_EvalCode] 684 added = '3.2' 685[function.PyEval_EvalCodeEx] 686 added = '3.2' 687[function.PyEval_EvalFrame] 688 added = '3.2' 689[function.PyEval_EvalFrameEx] 690 added = '3.2' 691[function.PyEval_GetBuiltins] 692 added = '3.2' 693[function.PyEval_GetFrame] 694 added = '3.2' 695[function.PyEval_GetFuncDesc] 696 added = '3.2' 697[function.PyEval_GetFuncName] 698 added = '3.2' 699[function.PyEval_GetGlobals] 700 added = '3.2' 701[function.PyEval_GetLocals] 702 added = '3.2' 703[function.PyEval_InitThreads] 704 added = '3.2' 705[function.PyEval_ReleaseLock] 706 added = '3.2' 707 abi_only = true 708[function.PyEval_ReleaseThread] 709 added = '3.2' 710[function.PyEval_RestoreThread] 711 added = '3.2' 712[function.PyEval_SaveThread] 713 added = '3.2' 714[function.PyEval_ThreadsInitialized] 715 added = '3.2' 716 abi_only = true 717[data.PyExc_ArithmeticError] 718 added = '3.2' 719[data.PyExc_AssertionError] 720 added = '3.2' 721[data.PyExc_AttributeError] 722 added = '3.2' 723[data.PyExc_BaseException] 724 added = '3.2' 725[data.PyExc_BaseExceptionGroup] 726 added = '3.11' 727[data.PyExc_BufferError] 728 added = '3.2' 729[data.PyExc_BytesWarning] 730 added = '3.2' 731[data.PyExc_DeprecationWarning] 732 added = '3.2' 733[data.PyExc_EOFError] 734 added = '3.2' 735[data.PyExc_EnvironmentError] 736 added = '3.2' 737[data.PyExc_Exception] 738 added = '3.2' 739[data.PyExc_FloatingPointError] 740 added = '3.2' 741[data.PyExc_FutureWarning] 742 added = '3.2' 743[data.PyExc_GeneratorExit] 744 added = '3.2' 745[data.PyExc_IOError] 746 added = '3.2' 747[data.PyExc_ImportError] 748 added = '3.2' 749[data.PyExc_ImportWarning] 750 added = '3.2' 751[data.PyExc_IndentationError] 752 added = '3.2' 753[data.PyExc_IndexError] 754 added = '3.2' 755[data.PyExc_KeyError] 756 added = '3.2' 757[data.PyExc_KeyboardInterrupt] 758 added = '3.2' 759[data.PyExc_LookupError] 760 added = '3.2' 761[data.PyExc_MemoryError] 762 added = '3.2' 763[data.PyExc_NameError] 764 added = '3.2' 765[data.PyExc_NotImplementedError] 766 added = '3.2' 767[data.PyExc_OSError] 768 added = '3.2' 769[data.PyExc_OverflowError] 770 added = '3.2' 771[data.PyExc_PendingDeprecationWarning] 772 added = '3.2' 773[data.PyExc_ReferenceError] 774 added = '3.2' 775[data.PyExc_RuntimeError] 776 added = '3.2' 777[data.PyExc_RuntimeWarning] 778 added = '3.2' 779[data.PyExc_StopIteration] 780 added = '3.2' 781[data.PyExc_SyntaxError] 782 added = '3.2' 783[data.PyExc_SyntaxWarning] 784 added = '3.2' 785[data.PyExc_SystemError] 786 added = '3.2' 787[data.PyExc_SystemExit] 788 added = '3.2' 789[data.PyExc_TabError] 790 added = '3.2' 791[data.PyExc_TypeError] 792 added = '3.2' 793[data.PyExc_UnboundLocalError] 794 added = '3.2' 795[data.PyExc_UnicodeDecodeError] 796 added = '3.2' 797[data.PyExc_UnicodeEncodeError] 798 added = '3.2' 799[data.PyExc_UnicodeError] 800 added = '3.2' 801[data.PyExc_UnicodeTranslateError] 802 added = '3.2' 803[data.PyExc_UnicodeWarning] 804 added = '3.2' 805[data.PyExc_UserWarning] 806 added = '3.2' 807[data.PyExc_ValueError] 808 added = '3.2' 809[data.PyExc_Warning] 810 added = '3.2' 811[data.PyExc_ZeroDivisionError] 812 added = '3.2' 813[function.PyException_GetCause] 814 added = '3.2' 815[function.PyException_GetContext] 816 added = '3.2' 817[function.PyException_GetTraceback] 818 added = '3.2' 819[function.PyException_SetCause] 820 added = '3.2' 821[function.PyException_SetContext] 822 added = '3.2' 823[function.PyException_SetTraceback] 824 added = '3.2' 825[function.PyFile_FromFd] 826 added = '3.2' 827[function.PyFile_GetLine] 828 added = '3.2' 829[function.PyFile_WriteObject] 830 added = '3.2' 831[function.PyFile_WriteString] 832 added = '3.2' 833[data.PyFilter_Type] 834 added = '3.2' 835[function.PyFloat_AsDouble] 836 added = '3.2' 837[function.PyFloat_FromDouble] 838 added = '3.2' 839[function.PyFloat_FromString] 840 added = '3.2' 841[function.PyFloat_GetInfo] 842 added = '3.2' 843[function.PyFloat_GetMax] 844 added = '3.2' 845[function.PyFloat_GetMin] 846 added = '3.2' 847[data.PyFloat_Type] 848 added = '3.2' 849[function.PyFrozenSet_New] 850 added = '3.2' 851[data.PyFrozenSet_Type] 852 added = '3.2' 853[function.PyGC_Collect] 854 added = '3.2' 855[function.PyGILState_Ensure] 856 added = '3.2' 857[function.PyGILState_GetThisThreadState] 858 added = '3.2' 859[function.PyGILState_Release] 860 added = '3.2' 861[data.PyGetSetDescr_Type] 862 added = '3.2' 863[function.PyImport_AddModule] 864 added = '3.2' 865[function.PyImport_AppendInittab] 866 added = '3.2' 867[function.PyImport_ExecCodeModule] 868 added = '3.2' 869[function.PyImport_ExecCodeModuleEx] 870 added = '3.2' 871[function.PyImport_ExecCodeModuleWithPathnames] 872 added = '3.2' 873[function.PyImport_GetImporter] 874 added = '3.2' 875[function.PyImport_GetMagicNumber] 876 added = '3.2' 877[function.PyImport_GetMagicTag] 878 added = '3.2' 879[function.PyImport_GetModuleDict] 880 added = '3.2' 881[function.PyImport_Import] 882 added = '3.2' 883[function.PyImport_ImportFrozenModule] 884 added = '3.2' 885[function.PyImport_ImportModule] 886 added = '3.2' 887[function.PyImport_ImportModuleLevel] 888 added = '3.2' 889[function.PyImport_ImportModuleNoBlock] 890 added = '3.2' 891[function.PyImport_ReloadModule] 892 added = '3.2' 893[function.PyInterpreterState_Clear] 894 added = '3.2' 895[function.PyInterpreterState_Delete] 896 added = '3.2' 897[function.PyInterpreterState_New] 898 added = '3.2' 899[function.PyIter_Next] 900 added = '3.2' 901[data.PyListIter_Type] 902 added = '3.2' 903[data.PyListRevIter_Type] 904 added = '3.2' 905[function.PyList_Append] 906 added = '3.2' 907[function.PyList_AsTuple] 908 added = '3.2' 909[function.PyList_GetItem] 910 added = '3.2' 911[function.PyList_GetSlice] 912 added = '3.2' 913[function.PyList_Insert] 914 added = '3.2' 915[function.PyList_New] 916 added = '3.2' 917[function.PyList_Reverse] 918 added = '3.2' 919[function.PyList_SetItem] 920 added = '3.2' 921[function.PyList_SetSlice] 922 added = '3.2' 923[function.PyList_Size] 924 added = '3.2' 925[function.PyList_Sort] 926 added = '3.2' 927[data.PyList_Type] 928 added = '3.2' 929[data.PyLongRangeIter_Type] 930 added = '3.2' 931[function.PyLong_AsDouble] 932 added = '3.2' 933[function.PyLong_AsLong] 934 added = '3.2' 935[function.PyLong_AsLongAndOverflow] 936 added = '3.2' 937[function.PyLong_AsLongLong] 938 added = '3.2' 939[function.PyLong_AsLongLongAndOverflow] 940 added = '3.2' 941[function.PyLong_AsSize_t] 942 added = '3.2' 943[function.PyLong_AsSsize_t] 944 added = '3.2' 945[function.PyLong_AsUnsignedLong] 946 added = '3.2' 947[function.PyLong_AsUnsignedLongLong] 948 added = '3.2' 949[function.PyLong_AsUnsignedLongLongMask] 950 added = '3.2' 951[function.PyLong_AsUnsignedLongMask] 952 added = '3.2' 953[function.PyLong_AsVoidPtr] 954 added = '3.2' 955[function.PyLong_FromDouble] 956 added = '3.2' 957[function.PyLong_FromLong] 958 added = '3.2' 959[function.PyLong_FromLongLong] 960 added = '3.2' 961[function.PyLong_FromSize_t] 962 added = '3.2' 963[function.PyLong_FromSsize_t] 964 added = '3.2' 965[function.PyLong_FromString] 966 added = '3.2' 967[function.PyLong_FromUnsignedLong] 968 added = '3.2' 969[function.PyLong_FromUnsignedLongLong] 970 added = '3.2' 971[function.PyLong_FromVoidPtr] 972 added = '3.2' 973[function.PyLong_GetInfo] 974 added = '3.2' 975[data.PyLong_Type] 976 added = '3.2' 977[data.PyMap_Type] 978 added = '3.2' 979[function.PyMapping_Check] 980 added = '3.2' 981[function.PyMapping_GetItemString] 982 added = '3.2' 983[function.PyMapping_HasKey] 984 added = '3.2' 985[function.PyMapping_HasKeyString] 986 added = '3.2' 987[function.PyMapping_Items] 988 added = '3.2' 989[function.PyMapping_Keys] 990 added = '3.2' 991[function.PyMapping_Length] 992 added = '3.2' 993[function.PyMapping_SetItemString] 994 added = '3.2' 995[function.PyMapping_Size] 996 added = '3.2' 997[function.PyMapping_Values] 998 added = '3.2' 999[function.PyMem_Free] 1000 added = '3.2' 1001[function.PyMem_Malloc] 1002 added = '3.2' 1003[function.PyMem_Realloc] 1004 added = '3.2' 1005[data.PyMemberDescr_Type] 1006 added = '3.2' 1007[function.PyMemoryView_FromObject] 1008 added = '3.2' 1009[function.PyMemoryView_GetContiguous] 1010 added = '3.2' 1011[data.PyMemoryView_Type] 1012 added = '3.2' 1013[data.PyMethodDescr_Type] 1014 added = '3.2' 1015[function.PyModule_AddIntConstant] 1016 added = '3.2' 1017[function.PyModule_AddObject] 1018 added = '3.2' 1019[function.PyModule_AddStringConstant] 1020 added = '3.2' 1021[function.PyModule_Create2] 1022 added = '3.2' 1023[function.PyModule_GetDef] 1024 added = '3.2' 1025[function.PyModule_GetDict] 1026 added = '3.2' 1027[function.PyModule_GetFilename] 1028 added = '3.2' 1029[function.PyModule_GetFilenameObject] 1030 added = '3.2' 1031[function.PyModule_GetName] 1032 added = '3.2' 1033[function.PyModule_GetState] 1034 added = '3.2' 1035[function.PyModule_New] 1036 added = '3.2' 1037[data.PyModule_Type] 1038 added = '3.2' 1039[function.PyNumber_Absolute] 1040 added = '3.2' 1041[function.PyNumber_Add] 1042 added = '3.2' 1043[function.PyNumber_And] 1044 added = '3.2' 1045[function.PyNumber_AsSsize_t] 1046 added = '3.2' 1047[function.PyNumber_Check] 1048 added = '3.2' 1049[function.PyNumber_Divmod] 1050 added = '3.2' 1051[function.PyNumber_Float] 1052 added = '3.2' 1053[function.PyNumber_FloorDivide] 1054 added = '3.2' 1055[function.PyNumber_InPlaceAdd] 1056 added = '3.2' 1057[function.PyNumber_InPlaceAnd] 1058 added = '3.2' 1059[function.PyNumber_InPlaceFloorDivide] 1060 added = '3.2' 1061[function.PyNumber_InPlaceLshift] 1062 added = '3.2' 1063[function.PyNumber_InPlaceMultiply] 1064 added = '3.2' 1065[function.PyNumber_InPlaceOr] 1066 added = '3.2' 1067[function.PyNumber_InPlacePower] 1068 added = '3.2' 1069[function.PyNumber_InPlaceRemainder] 1070 added = '3.2' 1071[function.PyNumber_InPlaceRshift] 1072 added = '3.2' 1073[function.PyNumber_InPlaceSubtract] 1074 added = '3.2' 1075[function.PyNumber_InPlaceTrueDivide] 1076 added = '3.2' 1077[function.PyNumber_InPlaceXor] 1078 added = '3.2' 1079[function.PyNumber_Index] 1080 added = '3.2' 1081[function.PyNumber_Invert] 1082 added = '3.2' 1083[function.PyNumber_Long] 1084 added = '3.2' 1085[function.PyNumber_Lshift] 1086 added = '3.2' 1087[function.PyNumber_Multiply] 1088 added = '3.2' 1089[function.PyNumber_Negative] 1090 added = '3.2' 1091[function.PyNumber_Or] 1092 added = '3.2' 1093[function.PyNumber_Positive] 1094 added = '3.2' 1095[function.PyNumber_Power] 1096 added = '3.2' 1097[function.PyNumber_Remainder] 1098 added = '3.2' 1099[function.PyNumber_Rshift] 1100 added = '3.2' 1101[function.PyNumber_Subtract] 1102 added = '3.2' 1103[function.PyNumber_ToBase] 1104 added = '3.2' 1105[function.PyNumber_TrueDivide] 1106 added = '3.2' 1107[function.PyNumber_Xor] 1108 added = '3.2' 1109[function.PyOS_AfterFork] 1110 added = '3.2' 1111 ifdef = 'HAVE_FORK' 1112[data.PyOS_InputHook] 1113 added = '3.2' 1114[function.PyOS_InterruptOccurred] 1115 added = '3.2' 1116[function.PyOS_double_to_string] 1117 added = '3.2' 1118[function.PyOS_getsig] 1119 added = '3.2' 1120[function.PyOS_mystricmp] 1121 added = '3.2' 1122[function.PyOS_mystrnicmp] 1123 added = '3.2' 1124[function.PyOS_setsig] 1125 added = '3.2' 1126[function.PyOS_snprintf] 1127 added = '3.2' 1128[function.PyOS_string_to_double] 1129 added = '3.2' 1130[function.PyOS_strtol] 1131 added = '3.2' 1132[function.PyOS_strtoul] 1133 added = '3.2' 1134[function.PyOS_vsnprintf] 1135 added = '3.2' 1136[function.PyObject_ASCII] 1137 added = '3.2' 1138[function.PyObject_AsFileDescriptor] 1139 added = '3.2' 1140[function.PyObject_Bytes] 1141 added = '3.2' 1142[function.PyObject_Call] 1143 added = '3.2' 1144[function.PyObject_CallFunction] 1145 added = '3.2' 1146[function.PyObject_CallFunctionObjArgs] 1147 added = '3.2' 1148[function.PyObject_CallMethod] 1149 added = '3.2' 1150[function.PyObject_CallMethodObjArgs] 1151 added = '3.2' 1152[function.PyObject_CallObject] 1153 added = '3.2' 1154[function.PyObject_ClearWeakRefs] 1155 added = '3.2' 1156[function.PyObject_DelItem] 1157 added = '3.2' 1158[function.PyObject_DelItemString] 1159 added = '3.2' 1160[function.PyObject_Dir] 1161 added = '3.2' 1162[function.PyObject_Format] 1163 added = '3.2' 1164[function.PyObject_Free] 1165 added = '3.2' 1166[function.PyObject_GC_Del] 1167 added = '3.2' 1168[function.PyObject_GC_Track] 1169 added = '3.2' 1170[function.PyObject_GC_UnTrack] 1171 added = '3.2' 1172[function.PyObject_GenericGetAttr] 1173 added = '3.2' 1174[function.PyObject_GenericSetAttr] 1175 added = '3.2' 1176[function.PyObject_GetAttr] 1177 added = '3.2' 1178[function.PyObject_GetAttrString] 1179 added = '3.2' 1180[function.PyObject_GetItem] 1181 added = '3.2' 1182[function.PyObject_GetIter] 1183 added = '3.2' 1184[function.PyObject_HasAttr] 1185 added = '3.2' 1186[function.PyObject_HasAttrString] 1187 added = '3.2' 1188[function.PyObject_Hash] 1189 added = '3.2' 1190[function.PyObject_HashNotImplemented] 1191 added = '3.2' 1192[function.PyObject_Init] 1193 added = '3.2' 1194[function.PyObject_InitVar] 1195 added = '3.2' 1196[function.PyObject_IsInstance] 1197 added = '3.2' 1198[function.PyObject_IsSubclass] 1199 added = '3.2' 1200[function.PyObject_IsTrue] 1201 added = '3.2' 1202[function.PyObject_Length] 1203 added = '3.2' 1204[function.PyObject_Malloc] 1205 added = '3.2' 1206[function.PyObject_Not] 1207 added = '3.2' 1208[function.PyObject_Realloc] 1209 added = '3.2' 1210[function.PyObject_Repr] 1211 added = '3.2' 1212[function.PyObject_RichCompare] 1213 added = '3.2' 1214[function.PyObject_RichCompareBool] 1215 added = '3.2' 1216[function.PyObject_SelfIter] 1217 added = '3.2' 1218[function.PyObject_SetAttr] 1219 added = '3.2' 1220[function.PyObject_SetAttrString] 1221 added = '3.2' 1222[function.PyObject_SetItem] 1223 added = '3.2' 1224[function.PyObject_Size] 1225 added = '3.2' 1226[function.PyObject_Str] 1227 added = '3.2' 1228[function.PyObject_Type] 1229 added = '3.2' 1230[data.PyProperty_Type] 1231 added = '3.2' 1232[data.PyRangeIter_Type] 1233 added = '3.2' 1234[data.PyRange_Type] 1235 added = '3.2' 1236[data.PyReversed_Type] 1237 added = '3.2' 1238[function.PySeqIter_New] 1239 added = '3.2' 1240[data.PySeqIter_Type] 1241 added = '3.2' 1242[function.PySequence_Check] 1243 added = '3.2' 1244[function.PySequence_Concat] 1245 added = '3.2' 1246[function.PySequence_Contains] 1247 added = '3.2' 1248[function.PySequence_Count] 1249 added = '3.2' 1250[function.PySequence_DelItem] 1251 added = '3.2' 1252[function.PySequence_DelSlice] 1253 added = '3.2' 1254[function.PySequence_Fast] 1255 added = '3.2' 1256[function.PySequence_GetItem] 1257 added = '3.2' 1258[function.PySequence_GetSlice] 1259 added = '3.2' 1260[function.PySequence_In] 1261 added = '3.2' 1262[function.PySequence_InPlaceConcat] 1263 added = '3.2' 1264[function.PySequence_InPlaceRepeat] 1265 added = '3.2' 1266[function.PySequence_Index] 1267 added = '3.2' 1268[function.PySequence_Length] 1269 added = '3.2' 1270[function.PySequence_List] 1271 added = '3.2' 1272[function.PySequence_Repeat] 1273 added = '3.2' 1274[function.PySequence_SetItem] 1275 added = '3.2' 1276[function.PySequence_SetSlice] 1277 added = '3.2' 1278[function.PySequence_Size] 1279 added = '3.2' 1280[function.PySequence_Tuple] 1281 added = '3.2' 1282[data.PySetIter_Type] 1283 added = '3.2' 1284[function.PySet_Add] 1285 added = '3.2' 1286[function.PySet_Clear] 1287 added = '3.2' 1288[function.PySet_Contains] 1289 added = '3.2' 1290[function.PySet_Discard] 1291 added = '3.2' 1292[function.PySet_New] 1293 added = '3.2' 1294[function.PySet_Pop] 1295 added = '3.2' 1296[function.PySet_Size] 1297 added = '3.2' 1298[data.PySet_Type] 1299 added = '3.2' 1300[function.PySlice_GetIndices] 1301 added = '3.2' 1302[function.PySlice_GetIndicesEx] 1303 added = '3.2' 1304[function.PySlice_New] 1305 added = '3.2' 1306[data.PySlice_Type] 1307 added = '3.2' 1308[function.PyState_FindModule] 1309 added = '3.2' 1310[function.PyStructSequence_GetItem] 1311 added = '3.2' 1312[function.PyStructSequence_New] 1313 added = '3.2' 1314[function.PyStructSequence_NewType] 1315 added = '3.2' 1316[function.PyStructSequence_SetItem] 1317 added = '3.2' 1318[data.PySuper_Type] 1319 added = '3.2' 1320[function.PySys_AddWarnOption] 1321 added = '3.2' 1322 abi_only = true 1323[function.PySys_AddWarnOptionUnicode] 1324 added = '3.2' 1325 abi_only = true 1326[function.PySys_FormatStderr] 1327 added = '3.2' 1328[function.PySys_FormatStdout] 1329 added = '3.2' 1330[function.PySys_GetObject] 1331 added = '3.2' 1332[function.PySys_HasWarnOptions] 1333 added = '3.2' 1334 abi_only = true 1335[function.PySys_ResetWarnOptions] 1336 added = '3.2' 1337[function.PySys_SetArgv] 1338 added = '3.2' 1339[function.PySys_SetArgvEx] 1340 added = '3.2' 1341[function.PySys_SetObject] 1342 added = '3.2' 1343[function.PySys_SetPath] 1344 added = '3.2' 1345 abi_only = true 1346[function.PySys_WriteStderr] 1347 added = '3.2' 1348[function.PySys_WriteStdout] 1349 added = '3.2' 1350[function.PyThreadState_Clear] 1351 added = '3.2' 1352[function.PyThreadState_Delete] 1353 added = '3.2' 1354[function.PyThreadState_DeleteCurrent] 1355 added = '3.2' 1356 abi_only = true 1357[function.PyThreadState_Get] 1358 added = '3.2' 1359[function.PyThreadState_GetDict] 1360 added = '3.2' 1361[function.PyThreadState_New] 1362 added = '3.2' 1363[function.PyThreadState_SetAsyncExc] 1364 added = '3.2' 1365[function.PyThreadState_Swap] 1366 added = '3.2' 1367[function.PyTraceBack_Here] 1368 added = '3.2' 1369[function.PyTraceBack_Print] 1370 added = '3.2' 1371[data.PyTraceBack_Type] 1372 added = '3.2' 1373[data.PyTupleIter_Type] 1374 added = '3.2' 1375[function.PyTuple_GetItem] 1376 added = '3.2' 1377[function.PyTuple_GetSlice] 1378 added = '3.2' 1379[function.PyTuple_New] 1380 added = '3.2' 1381[function.PyTuple_Pack] 1382 added = '3.2' 1383[function.PyTuple_SetItem] 1384 added = '3.2' 1385[function.PyTuple_Size] 1386 added = '3.2' 1387[data.PyTuple_Type] 1388 added = '3.2' 1389[function.PyType_ClearCache] 1390 added = '3.2' 1391[function.PyType_GenericAlloc] 1392 added = '3.2' 1393[function.PyType_GenericNew] 1394 added = '3.2' 1395[function.PyType_GetFlags] 1396 added = '3.2' 1397[function.PyType_IsSubtype] 1398 added = '3.2' 1399[function.PyType_Modified] 1400 added = '3.2' 1401[function.PyType_Ready] 1402 added = '3.2' 1403[data.PyType_Type] 1404 added = '3.2' 1405[function.PyUnicodeDecodeError_Create] 1406 added = '3.2' 1407[function.PyUnicodeDecodeError_GetEncoding] 1408 added = '3.2' 1409[function.PyUnicodeDecodeError_GetEnd] 1410 added = '3.2' 1411[function.PyUnicodeDecodeError_GetObject] 1412 added = '3.2' 1413[function.PyUnicodeDecodeError_GetReason] 1414 added = '3.2' 1415[function.PyUnicodeDecodeError_GetStart] 1416 added = '3.2' 1417[function.PyUnicodeDecodeError_SetEnd] 1418 added = '3.2' 1419[function.PyUnicodeDecodeError_SetReason] 1420 added = '3.2' 1421[function.PyUnicodeDecodeError_SetStart] 1422 added = '3.2' 1423[function.PyUnicodeEncodeError_GetEncoding] 1424 added = '3.2' 1425[function.PyUnicodeEncodeError_GetEnd] 1426 added = '3.2' 1427[function.PyUnicodeEncodeError_GetObject] 1428 added = '3.2' 1429[function.PyUnicodeEncodeError_GetReason] 1430 added = '3.2' 1431[function.PyUnicodeEncodeError_GetStart] 1432 added = '3.2' 1433[function.PyUnicodeEncodeError_SetEnd] 1434 added = '3.2' 1435[function.PyUnicodeEncodeError_SetReason] 1436 added = '3.2' 1437[function.PyUnicodeEncodeError_SetStart] 1438 added = '3.2' 1439[data.PyUnicodeIter_Type] 1440 added = '3.2' 1441[function.PyUnicodeTranslateError_GetEnd] 1442 added = '3.2' 1443[function.PyUnicodeTranslateError_GetObject] 1444 added = '3.2' 1445[function.PyUnicodeTranslateError_GetReason] 1446 added = '3.2' 1447[function.PyUnicodeTranslateError_GetStart] 1448 added = '3.2' 1449[function.PyUnicodeTranslateError_SetEnd] 1450 added = '3.2' 1451[function.PyUnicodeTranslateError_SetReason] 1452 added = '3.2' 1453[function.PyUnicodeTranslateError_SetStart] 1454 added = '3.2' 1455[function.PyUnicode_Append] 1456 added = '3.2' 1457[function.PyUnicode_AppendAndDel] 1458 added = '3.2' 1459[function.PyUnicode_AsASCIIString] 1460 added = '3.2' 1461[function.PyUnicode_AsCharmapString] 1462 added = '3.2' 1463[function.PyUnicode_AsDecodedObject] 1464 added = '3.2' 1465[function.PyUnicode_AsDecodedUnicode] 1466 added = '3.2' 1467[function.PyUnicode_AsEncodedObject] 1468 added = '3.2' 1469[function.PyUnicode_AsEncodedString] 1470 added = '3.2' 1471[function.PyUnicode_AsEncodedUnicode] 1472 added = '3.2' 1473[function.PyUnicode_AsLatin1String] 1474 added = '3.2' 1475[function.PyUnicode_AsRawUnicodeEscapeString] 1476 added = '3.2' 1477[function.PyUnicode_AsUTF16String] 1478 added = '3.2' 1479[function.PyUnicode_AsUTF32String] 1480 added = '3.2' 1481[function.PyUnicode_AsUTF8String] 1482 added = '3.2' 1483[function.PyUnicode_AsUnicodeEscapeString] 1484 added = '3.2' 1485[function.PyUnicode_AsWideChar] 1486 added = '3.2' 1487[function.PyUnicode_Compare] 1488 added = '3.2' 1489[function.PyUnicode_Concat] 1490 added = '3.2' 1491[function.PyUnicode_Contains] 1492 added = '3.2' 1493[function.PyUnicode_Count] 1494 added = '3.2' 1495[function.PyUnicode_Decode] 1496 added = '3.2' 1497[function.PyUnicode_DecodeASCII] 1498 added = '3.2' 1499[function.PyUnicode_DecodeCharmap] 1500 added = '3.2' 1501[function.PyUnicode_DecodeFSDefault] 1502 added = '3.2' 1503[function.PyUnicode_DecodeFSDefaultAndSize] 1504 added = '3.2' 1505[function.PyUnicode_DecodeLatin1] 1506 added = '3.2' 1507[function.PyUnicode_DecodeRawUnicodeEscape] 1508 added = '3.2' 1509[function.PyUnicode_DecodeUTF16] 1510 added = '3.2' 1511[function.PyUnicode_DecodeUTF16Stateful] 1512 added = '3.2' 1513[function.PyUnicode_DecodeUTF32] 1514 added = '3.2' 1515[function.PyUnicode_DecodeUTF32Stateful] 1516 added = '3.2' 1517[function.PyUnicode_DecodeUTF8] 1518 added = '3.2' 1519[function.PyUnicode_DecodeUTF8Stateful] 1520 added = '3.2' 1521[function.PyUnicode_DecodeUnicodeEscape] 1522 added = '3.2' 1523[function.PyUnicode_FSConverter] 1524 added = '3.2' 1525[function.PyUnicode_FSDecoder] 1526 added = '3.2' 1527[function.PyUnicode_Find] 1528 added = '3.2' 1529[function.PyUnicode_Format] 1530 added = '3.2' 1531[function.PyUnicode_FromEncodedObject] 1532 added = '3.2' 1533[function.PyUnicode_FromFormat] 1534 added = '3.2' 1535[function.PyUnicode_FromFormatV] 1536 added = '3.2' 1537[function.PyUnicode_FromObject] 1538 added = '3.2' 1539[function.PyUnicode_FromOrdinal] 1540 added = '3.2' 1541[function.PyUnicode_FromString] 1542 added = '3.2' 1543[function.PyUnicode_FromStringAndSize] 1544 added = '3.2' 1545[function.PyUnicode_FromWideChar] 1546 added = '3.2' 1547[function.PyUnicode_GetDefaultEncoding] 1548 added = '3.2' 1549[function.PyUnicode_GetSize] 1550 added = '3.2' 1551 abi_only = true 1552[function.PyUnicode_IsIdentifier] 1553 added = '3.2' 1554[function.PyUnicode_Join] 1555 added = '3.2' 1556[function.PyUnicode_Partition] 1557 added = '3.2' 1558[function.PyUnicode_RPartition] 1559 added = '3.2' 1560[function.PyUnicode_RSplit] 1561 added = '3.2' 1562[function.PyUnicode_Replace] 1563 added = '3.2' 1564[function.PyUnicode_Resize] 1565 added = '3.2' 1566[function.PyUnicode_RichCompare] 1567 added = '3.2' 1568[function.PyUnicode_Split] 1569 added = '3.2' 1570[function.PyUnicode_Splitlines] 1571 added = '3.2' 1572[function.PyUnicode_Tailmatch] 1573 added = '3.2' 1574[function.PyUnicode_Translate] 1575 added = '3.2' 1576[function.PyUnicode_BuildEncodingMap] 1577 added = '3.2' 1578[function.PyUnicode_CompareWithASCIIString] 1579 added = '3.2' 1580[function.PyUnicode_DecodeUTF7] 1581 added = '3.2' 1582[function.PyUnicode_DecodeUTF7Stateful] 1583 added = '3.2' 1584[function.PyUnicode_EncodeFSDefault] 1585 added = '3.2' 1586[function.PyUnicode_InternFromString] 1587 added = '3.2' 1588[function.PyUnicode_InternImmortal] 1589 added = '3.2' 1590 abi_only = true 1591[function.PyUnicode_InternInPlace] 1592 added = '3.2' 1593[data.PyUnicode_Type] 1594 added = '3.2' 1595[function.PyWeakref_GetObject] 1596 added = '3.2' 1597[function.PyWeakref_NewProxy] 1598 added = '3.2' 1599[function.PyWeakref_NewRef] 1600 added = '3.2' 1601[data.PyWrapperDescr_Type] 1602 added = '3.2' 1603[function.PyWrapper_New] 1604 added = '3.2' 1605[data.PyZip_Type] 1606 added = '3.2' 1607[function.Py_AddPendingCall] 1608 added = '3.2' 1609[function.Py_AtExit] 1610 added = '3.2' 1611[function.Py_BuildValue] 1612 added = '3.2' 1613[function.Py_CompileString] 1614 added = '3.2' 1615[function.Py_DecRef] 1616 added = '3.2' 1617[function.Py_EndInterpreter] 1618 added = '3.2' 1619[function.Py_Exit] 1620 added = '3.2' 1621[function.Py_FatalError] 1622 added = '3.2' 1623[data.Py_FileSystemDefaultEncoding] 1624 added = '3.2' 1625[function.Py_Finalize] 1626 added = '3.2' 1627[function.Py_GetBuildInfo] 1628 added = '3.2' 1629[function.Py_GetCompiler] 1630 added = '3.2' 1631[function.Py_GetCopyright] 1632 added = '3.2' 1633[function.Py_GetExecPrefix] 1634 added = '3.2' 1635[function.Py_GetPath] 1636 added = '3.2' 1637[function.Py_GetPlatform] 1638 added = '3.2' 1639[function.Py_GetPrefix] 1640 added = '3.2' 1641[function.Py_GetProgramFullPath] 1642 added = '3.2' 1643[function.Py_GetProgramName] 1644 added = '3.2' 1645[function.Py_GetPythonHome] 1646 added = '3.2' 1647[function.Py_GetRecursionLimit] 1648 added = '3.2' 1649[function.Py_GetVersion] 1650 added = '3.2' 1651[data.Py_HasFileSystemDefaultEncoding] 1652 added = '3.2' 1653[function.Py_IncRef] 1654 added = '3.2' 1655[function.Py_Initialize] 1656 added = '3.2' 1657[function.Py_InitializeEx] 1658 added = '3.2' 1659[function.Py_IsInitialized] 1660 added = '3.2' 1661[function.Py_Main] 1662 added = '3.2' 1663[function.Py_MakePendingCalls] 1664 added = '3.2' 1665[function.Py_NewInterpreter] 1666 added = '3.2' 1667[function.Py_ReprEnter] 1668 added = '3.2' 1669[function.Py_ReprLeave] 1670 added = '3.2' 1671[function.Py_SetProgramName] 1672 added = '3.2' 1673[function.Py_SetPythonHome] 1674 added = '3.2' 1675[function.Py_SetRecursionLimit] 1676 added = '3.2' 1677[function.Py_VaBuildValue] 1678 added = '3.2' 1679 1680[function._PyErr_BadInternalCall] 1681 added = '3.2' 1682 abi_only = true 1683[function._PyObject_CallFunction_SizeT] 1684 added = '3.2' 1685 abi_only = true 1686[function._PyObject_CallMethod_SizeT] 1687 added = '3.2' 1688 abi_only = true 1689[function._PyObject_GC_New] 1690 added = '3.2' 1691 abi_only = true 1692[function._PyObject_GC_NewVar] 1693 added = '3.2' 1694 abi_only = true 1695[function._PyObject_GC_Resize] 1696 added = '3.2' 1697 abi_only = true 1698[function._PyObject_New] 1699 added = '3.2' 1700 abi_only = true 1701[function._PyObject_NewVar] 1702 added = '3.2' 1703 abi_only = true 1704[function._PyState_AddModule] 1705 added = '3.2' 1706 abi_only = true 1707[function._PyThreadState_Init] 1708 added = '3.2' 1709 abi_only = true 1710[function._PyThreadState_Prealloc] 1711 added = '3.2' 1712 abi_only = true 1713[data._PyWeakref_CallableProxyType] 1714 added = '3.2' 1715 abi_only = true 1716[data._PyWeakref_ProxyType] 1717 added = '3.2' 1718 abi_only = true 1719[data._PyWeakref_RefType] 1720 added = '3.2' 1721 abi_only = true 1722[function._Py_BuildValue_SizeT] 1723 added = '3.2' 1724 abi_only = true 1725[function._Py_CheckRecursiveCall] 1726 added = '3.2' 1727 abi_only = true 1728[function._Py_Dealloc] 1729 added = '3.2' 1730 abi_only = true 1731[data._Py_EllipsisObject] 1732 added = '3.2' 1733 abi_only = true 1734[data._Py_FalseStruct] 1735 added = '3.2' 1736 abi_only = true 1737[data._Py_NoneStruct] 1738 added = '3.2' 1739 abi_only = true 1740[data._Py_NotImplementedStruct] 1741 added = '3.2' 1742 abi_only = true 1743[data._Py_SwappedOp] 1744 added = '3.2' 1745 abi_only = true 1746[data._Py_TrueStruct] 1747 added = '3.2' 1748 abi_only = true 1749[function._Py_VaBuildValue_SizeT] 1750 added = '3.2' 1751 abi_only = true 1752 1753# Old buffer protocol support (deprecated) 1754 1755[function.PyObject_AsCharBuffer] 1756 added = '3.2' 1757 abi_only = true 1758[function.PyObject_AsReadBuffer] 1759 added = '3.2' 1760 abi_only = true 1761[function.PyObject_AsWriteBuffer] 1762 added = '3.2' 1763 abi_only = true 1764[function.PyObject_CheckReadBuffer] 1765 added = '3.2' 1766 abi_only = true 1767 1768# Flags are implicitly part of the ABI: 1769 1770[const.Py_TPFLAGS_DEFAULT] 1771 added = '3.2' 1772[const.Py_TPFLAGS_BASETYPE] 1773 added = '3.2' 1774[const.Py_TPFLAGS_HAVE_GC] 1775 added = '3.2' 1776 1777[const.METH_VARARGS] 1778 added = '3.2' 1779[const.METH_NOARGS] 1780 added = '3.2' 1781[const.METH_O] 1782 added = '3.2' 1783[const.METH_CLASS] 1784 added = '3.2' 1785[const.METH_STATIC] 1786 added = '3.2' 1787[const.METH_COEXIST] 1788 added = '3.2' 1789# METH_STACKLESS is undocumented 1790# METH_FASTCALL is not part of limited API. 1791 1792# The following are defined in private headers, but historically 1793# they were exported as part of the stable ABI. 1794[function.PyMarshal_ReadObjectFromString] 1795 added = '3.2' 1796 abi_only = true 1797[function.PyMarshal_WriteObjectToString] 1798 added = '3.2' 1799 abi_only = true 1800[function.PyMember_GetOne] 1801 added = '3.2' # Before 3.12, available in "structmember.h" 1802[function.PyMember_SetOne] 1803 added = '3.2' # Before 3.12, available in "structmember.h" 1804 1805# TLS api is deprecated; superseded by TSS API 1806 1807[function.PyThread_ReInitTLS] 1808 added = '3.2' 1809[function.PyThread_create_key] 1810 added = '3.2' 1811[function.PyThread_delete_key] 1812 added = '3.2' 1813[function.PyThread_set_key_value] 1814 added = '3.2' 1815[function.PyThread_get_key_value] 1816 added = '3.2' 1817[function.PyThread_delete_key_value] 1818 added = '3.2' 1819[function.PyThread_acquire_lock] 1820 added = '3.2' 1821[function.PyThread_acquire_lock_timed] 1822 added = '3.2' 1823[function.PyThread_allocate_lock] 1824 added = '3.2' 1825[function.PyThread_exit_thread] 1826 added = '3.2' 1827[function.PyThread_free_lock] 1828 added = '3.2' 1829[function.PyThread_get_stacksize] 1830 added = '3.2' 1831[function.PyThread_get_thread_ident] 1832 added = '3.2' 1833[function.PyThread_get_thread_native_id] 1834 added = '3.2' 1835 ifdef = 'PY_HAVE_THREAD_NATIVE_ID' 1836[function.PyThread_init_thread] 1837 added = '3.2' 1838[function.PyThread_release_lock] 1839 added = '3.2' 1840[function.PyThread_set_stacksize] 1841 added = '3.2' 1842[function.PyThread_start_new_thread] 1843 added = '3.2' 1844 1845# The following were added in PC/python3.def in Python 3.3: 1846# 7800f75827b1be557be16f3b18f5170fbf9fae08 1847# 9c56409d3353b8cd4cfc19e0467bbe23fd34fc92 1848# 75aeaa9b18667219bbacbc58ba6efecccef9dfbd 1849 1850[function.PyState_AddModule] 1851 added = '3.3' 1852[function.PyState_RemoveModule] 1853 added = '3.3' 1854[function.PyType_FromSpecWithBases] 1855 added = '3.3' 1856[function._PyArg_Parse_SizeT] 1857 added = '3.3' 1858 abi_only = true 1859[function._PyArg_ParseTuple_SizeT] 1860 added = '3.3' 1861 abi_only = true 1862[function._PyArg_ParseTupleAndKeywords_SizeT] 1863 added = '3.3' 1864 abi_only = true 1865[function._PyArg_VaParse_SizeT] 1866 added = '3.3' 1867 abi_only = true 1868[function._PyArg_VaParseTupleAndKeywords_SizeT] 1869 added = '3.3' 1870 abi_only = true 1871[function.PyThread_GetInfo] 1872 added = '3.3' 1873 1874# The following were added in PC/python3.def in Python 3.4: 1875# 3ba3a3ee56c142e93d6bbe20ff6bf939212a30f0 1876 1877[function.PyCFunction_New] 1878 added = '3.4' 1879[function.PyType_GetSlot] 1880 added = '3.4' 1881 1882# The following were added in PC/python3.def in Python 3.5: 1883# 11d7b1423fc44d764eba7065ea5eba58ed748b21 1884# f3b73ad51da3097d7915796fdc62608b1ab90c0a 1885 1886[function.PyErr_FormatV] 1887 added = '3.5' 1888[function.PyModuleDef_Init] 1889 added = '3.5' 1890[data.PyModuleDef_Type] 1891 added = '3.5' 1892 1893# New slots in 3.5: 1894# d51374ed78a3e3145911a16cdf3b9b84b3ba7d15 - Matrix multiplication (PEP 465) 1895# 7544508f0245173bff5866aa1598c8f6cce1fc5f - Async iterators (PEP 492) 1896# 0969a9f8abcf98bb43ea77b1dd050426adcfb4f7 - tp_finalize 1897 1898[const.Py_nb_matrix_multiply] 1899 added = '3.5' 1900[const.Py_nb_inplace_matrix_multiply] 1901 added = '3.5' 1902[const.Py_am_await] 1903 added = '3.5' 1904[const.Py_am_aiter] 1905 added = '3.5' 1906[const.Py_am_anext] 1907 added = '3.5' 1908[const.Py_tp_finalize] 1909 added = '3.5' 1910 1911# The following were added in PC/python3.def in Python 3.6: 1912 1913[function.Py_FinalizeEx] 1914 added = '3.6' 1915 1916[function.PyOS_FSPath] 1917 added = '3.6' 1918[function.PyErr_ResourceWarning] 1919 added = '3.6' 1920[function.PyErr_SetImportErrorSubclass] 1921 added = '3.6' 1922[data.PyExc_ModuleNotFoundError] 1923 added = '3.6' 1924 1925# The following were added in PC/python3.def in Python 3.6.1 and 3.5.3/3.5.4: 1926 1927[function.PyCodec_NameReplaceErrors] 1928 added = '3.7' # (and 3.6.1 and 3.5.3) 1929[function.PyErr_GetExcInfo] 1930 added = '3.7' # (and 3.6.1 and 3.5.3) 1931[function.PyErr_SetExcInfo] 1932 added = '3.7' # (and 3.6.1 and 3.5.3) 1933[function.PyErr_SetFromErrnoWithFilenameObjects] 1934 added = '3.7' # (and 3.6.1 and 3.5.3) 1935[function.PyErr_SetImportError] 1936 added = '3.7' # (and 3.6.1 and 3.5.3) 1937[function.PyErr_SyntaxLocationEx] 1938 added = '3.7' # (and 3.6.1 and 3.5.3) 1939[data.PyExc_BlockingIOError] 1940 added = '3.7' # (and 3.6.1 and 3.5.3) 1941[data.PyExc_BrokenPipeError] 1942 added = '3.7' # (and 3.6.1 and 3.5.3) 1943[data.PyExc_ChildProcessError] 1944 added = '3.7' # (and 3.6.1 and 3.5.3) 1945[data.PyExc_ConnectionAbortedError] 1946 added = '3.7' # (and 3.6.1 and 3.5.3) 1947[data.PyExc_ConnectionError] 1948 added = '3.7' # (and 3.6.1 and 3.5.3) 1949[data.PyExc_ConnectionRefusedError] 1950 added = '3.7' # (and 3.6.1 and 3.5.3) 1951[data.PyExc_ConnectionResetError] 1952 added = '3.7' # (and 3.6.1 and 3.5.3) 1953[data.PyExc_FileExistsError] 1954 added = '3.7' # (and 3.6.1 and 3.5.3) 1955[data.PyExc_FileNotFoundError] 1956 added = '3.7' # (and 3.6.1 and 3.5.3) 1957[data.PyExc_InterruptedError] 1958 added = '3.7' # (and 3.6.1 and 3.5.3) 1959[data.PyExc_IsADirectoryError] 1960 added = '3.7' # (and 3.6.1 and 3.5.3) 1961[data.PyExc_NotADirectoryError] 1962 added = '3.7' # (and 3.6.1 and 3.5.3) 1963[data.PyExc_PermissionError] 1964 added = '3.7' # (and 3.6.1 and 3.5.3) 1965[data.PyExc_ProcessLookupError] 1966 added = '3.7' # (and 3.6.1 and 3.5.3) 1967[data.PyExc_RecursionError] 1968 added = '3.7' # (and 3.6.1 and 3.5.3) 1969[data.PyExc_ResourceWarning] 1970 added = '3.7' # (and 3.6.1 and 3.5.3) 1971[data.PyExc_StopAsyncIteration] 1972 added = '3.7' # (and 3.6.1 and 3.5.3) 1973[data.PyExc_TimeoutError] 1974 added = '3.7' # (and 3.6.1 and 3.5.3) 1975[function.PyImport_AddModuleObject] 1976 added = '3.7' # (and 3.6.1 and 3.5.3) 1977[function.PyImport_ExecCodeModuleObject] 1978 added = '3.7' # (and 3.6.1 and 3.5.3) 1979[function.PyImport_ImportFrozenModuleObject] 1980 added = '3.7' # (and 3.6.1 and 3.5.3) 1981[function.PyImport_ImportModuleLevelObject] 1982 added = '3.7' # (and 3.6.1 and 3.5.3) 1983[function.PyMem_Calloc] 1984 added = '3.7' # (and 3.6.1 and 3.5.3) 1985[function.PyMemoryView_FromMemory] 1986 added = '3.7' # (and 3.6.1 and 3.5.3) 1987[function.PyModule_AddFunctions] 1988 added = '3.7' # (and 3.6.1 and 3.5.3) 1989[function.PyModule_ExecDef] 1990 added = '3.7' # (and 3.6.1 and 3.5.3) 1991[function.PyModule_FromDefAndSpec2] 1992 added = '3.7' # (and 3.6.1 and 3.5.3) 1993[function.PyModule_GetNameObject] 1994 added = '3.7' # (and 3.6.1 and 3.5.3) 1995[function.PyModule_NewObject] 1996 added = '3.7' # (and 3.6.1 and 3.5.3) 1997[function.PyModule_SetDocString] 1998 added = '3.7' # (and 3.6.1 and 3.5.3) 1999[function.PyNumber_InPlaceMatrixMultiply] 2000 added = '3.7' # (and 3.6.1 and 3.5.3) 2001[function.PyNumber_MatrixMultiply] 2002 added = '3.7' # (and 3.6.1 and 3.5.3) 2003[function.PyObject_Calloc] 2004 added = '3.7' # (and 3.6.1 and 3.5.3) 2005[function.PyObject_GenericSetDict] 2006 added = '3.7' # (and 3.6.1 and 3.5.3) 2007[function.PySys_AddXOption] 2008 added = '3.7' # (and 3.6.1 and 3.5.3) 2009 abi_only = true 2010[function.PySys_GetXOptions] 2011 added = '3.7' # (and 3.6.1 and 3.5.3) 2012[function.PyUnicode_AsUCS4] 2013 added = '3.7' # (and 3.6.1 and 3.5.3) 2014[function.PyUnicode_AsUCS4Copy] 2015 added = '3.7' # (and 3.6.1 and 3.5.3) 2016[function.PyUnicode_AsWideCharString] 2017 added = '3.7' # (and 3.6.1 and 3.5.3) 2018[function.PyUnicode_DecodeLocale] 2019 added = '3.7' # (and 3.6.1 and 3.5.3) 2020[function.PyUnicode_DecodeLocaleAndSize] 2021 added = '3.7' # (and 3.6.1 and 3.5.3) 2022[function.PyUnicode_EncodeLocale] 2023 added = '3.7' # (and 3.6.1 and 3.5.3) 2024[function.PyUnicode_FindChar] 2025 added = '3.7' # (and 3.6.1 and 3.5.3) 2026[function.PyUnicode_GetLength] 2027 added = '3.7' # (and 3.6.1 and 3.5.3) 2028[function.PyUnicode_ReadChar] 2029 added = '3.7' # (and 3.6.1 and 3.5.3) 2030[function.PyUnicode_Substring] 2031 added = '3.7' # (and 3.6.1 and 3.5.3) 2032[function.PyUnicode_WriteChar] 2033 added = '3.7' # (and 3.6.1 and 3.5.3) 2034[function.Py_DecodeLocale] 2035 added = '3.7' # (and 3.6.1 and 3.5.3) 2036[function.Py_EncodeLocale] 2037 added = '3.7' # (and 3.6.1 and 3.5.3) 2038[function.Py_SetPath] 2039 added = '3.7' # (and 3.6.1 and 3.5.3) 2040 abi_only = true 2041[function.PyErr_SetExcFromWindowsErr] 2042 added = '3.7' # (and 3.6.1 and 3.5.3) 2043 ifdef = 'MS_WINDOWS' 2044[function.PyErr_SetExcFromWindowsErrWithFilename] 2045 added = '3.7' # (and 3.6.1 and 3.5.3) 2046 ifdef = 'MS_WINDOWS' 2047[function.PyErr_SetExcFromWindowsErrWithFilenameObject] 2048 added = '3.7' # (and 3.6.1 and 3.5.3) 2049 ifdef = 'MS_WINDOWS' 2050[function.PyErr_SetExcFromWindowsErrWithFilenameObjects] 2051 added = '3.7' # (and 3.6.1 and 3.5.3) 2052 ifdef = 'MS_WINDOWS' 2053[function.PyErr_SetFromWindowsErr] 2054 added = '3.7' # (and 3.6.1 and 3.5.3) 2055 ifdef = 'MS_WINDOWS' 2056[function.PyErr_SetFromWindowsErrWithFilename] 2057 added = '3.7' # (and 3.6.1 and 3.5.3) 2058 ifdef = 'MS_WINDOWS' 2059[data.PyExc_WindowsError] 2060 added = '3.7' # (and 3.6.1 and 3.5.3) 2061 ifdef = 'MS_WINDOWS' 2062[function.PyOS_CheckStack] 2063 added = '3.7' # (and 3.6.1 and 3.5.3) 2064 ifdef = 'USE_STACKCHECK' 2065[function.PyUnicode_AsMBCSString] 2066 added = '3.7' # (and 3.6.1 and 3.5.3) 2067 ifdef = 'MS_WINDOWS' 2068[function.PyUnicode_DecodeCodePageStateful] 2069 added = '3.7' # (and 3.6.1 and 3.5.3) 2070 ifdef = 'MS_WINDOWS' 2071[function.PyUnicode_DecodeMBCS] 2072 added = '3.7' # (and 3.6.1 and 3.5.3) 2073 ifdef = 'MS_WINDOWS' 2074[function.PyUnicode_DecodeMBCSStateful] 2075 added = '3.7' # (and 3.6.1 and 3.5.3) 2076 ifdef = 'MS_WINDOWS' 2077[function.PyUnicode_EncodeCodePage] 2078 added = '3.7' # (and 3.6.1 and 3.5.3) 2079 ifdef = 'MS_WINDOWS' 2080 2081# 3.5.4: 2082[function.PySlice_AdjustIndices] 2083 added = '3.7' # (and 3.6.1 and 3.5.4) 2084[function.PySlice_Unpack] 2085 added = '3.7' # (and 3.6.1 and 3.5.4) 2086 2087# The following were added in PC/python3.def in Python 3.7: 2088 2089[function.PyInterpreterState_GetID] 2090 added = '3.7' 2091[function.PyThread_tss_alloc] 2092 added = '3.7' 2093[function.PyThread_tss_create] 2094 added = '3.7' 2095[function.PyThread_tss_delete] 2096 added = '3.7' 2097[function.PyThread_tss_free] 2098 added = '3.7' 2099[function.PyThread_tss_get] 2100 added = '3.7' 2101[function.PyThread_tss_is_created] 2102 added = '3.7' 2103[function.PyThread_tss_set] 2104 added = '3.7' 2105[function.PyOS_BeforeFork] 2106 added = '3.7' 2107 ifdef = 'HAVE_FORK' 2108[function.PyOS_AfterFork_Parent] 2109 added = '3.7' 2110 ifdef = 'HAVE_FORK' 2111[function.PyOS_AfterFork_Child] 2112 added = '3.7' 2113 ifdef = 'HAVE_FORK' 2114 2115# New method flags in 3.7 (PEP 590): 2116 2117[const.METH_FASTCALL] 2118 added = '3.7' 2119[const.METH_METHOD] 2120 added = '3.7' 2121 2122# The following were added in PC/python3.def in Python 3.8: 2123 2124[function.PyImport_GetModule] 2125 added = '3.8' 2126[data.Py_UTF8Mode] 2127 added = '3.8' 2128[function.PyExceptionClass_Name] 2129 added = '3.8' 2130[function.PyIndex_Check] 2131 added = '3.8' 2132[function.PyIter_Check] 2133 added = '3.8' 2134[data.PyDictRevIterItem_Type] 2135 added = '3.8' 2136[data.PyDictRevIterKey_Type] 2137 added = '3.8' 2138[data.PyDictRevIterValue_Type] 2139 added = '3.8' 2140[function.PyInterpreterState_GetDict] 2141 added = '3.8' 2142[function.Py_BytesMain] 2143 added = '3.8' 2144 2145# New type flag (PEP 590): 2146 2147[const.Py_TPFLAGS_METHOD_DESCRIPTOR] 2148 added = '3.8' 2149 2150# The following were added in PC/python3.def in Python 3.9: 2151 2152[function.Py_EnterRecursiveCall] 2153 added = '3.9' 2154[function.Py_LeaveRecursiveCall] 2155 added = '3.9' 2156[function.Py_GenericAlias] 2157 added = '3.9' 2158[data.Py_GenericAliasType] 2159 added = '3.9' 2160[function.PyCMethod_New] 2161 added = '3.9' 2162[function.PyInterpreterState_Get] 2163 added = '3.9' 2164[function.PyObject_GC_IsFinalized] 2165 added = '3.9' 2166[function.PyObject_GC_IsTracked] 2167 added = '3.9' 2168 2169# The following were added in PC/python3.def in Python 3.10: 2170 2171[function.Py_GetArgcArgv] 2172 added = '3.10' 2173 abi_only = true 2174[function.PyIter_Send] 2175 added = '3.10' 2176[function.PyUnicode_AsUTF8AndSize] 2177 added = '3.10' 2178[function.PyObject_GenericGetDict] 2179 added = '3.10' 2180[function.Py_NewRef] 2181 added = '3.10' 2182[function.Py_XNewRef] 2183 added = '3.10' 2184[function.PyModule_AddType] 2185 added = '3.10' 2186[function.PyType_FromModuleAndSpec] 2187 added = '3.10' 2188[function.PyType_GetModule] 2189 added = '3.10' 2190[function.PyType_GetModuleState] 2191 added = '3.10' 2192[function.PyFrame_GetLineNumber] 2193 added = '3.10' 2194[function.PyFrame_GetCode] 2195 added = '3.10' 2196[function.PyObject_CallNoArgs] 2197 added = '3.10' 2198[function.PyThreadState_GetFrame] 2199 added = '3.10' 2200[function.PyThreadState_GetID] 2201 added = '3.10' 2202[function.PyThreadState_GetInterpreter] 2203 added = '3.10' 2204[function.PyModule_AddObjectRef] 2205 added = '3.10' 2206[data.Py_FileSystemDefaultEncodeErrors] 2207 added = '3.10' 2208[function.PyCodec_Unregister] 2209 added = '3.10' 2210[function.PyErr_SetInterruptEx] 2211 added = '3.10' 2212[function.Py_Is] 2213 added = '3.10' 2214[function.Py_IsTrue] 2215 added = '3.10' 2216[function.Py_IsFalse] 2217 added = '3.10' 2218[function.Py_IsNone] 2219 added = '3.10' 2220[function._Py_IncRef] 2221 added = '3.10' 2222 abi_only = true 2223[function._Py_DecRef] 2224 added = '3.10' 2225 abi_only = true 2226[function.PyAIter_Check] 2227 added = '3.10' 2228[function.PyObject_GetAIter] 2229 added = '3.10' 2230[data.PyExc_EncodingWarning] 2231 added = '3.10' 2232 2233# Support for Stable ABI in debug builds 2234 2235[data._Py_RefTotal] 2236 added = '3.10' 2237 ifdef = 'Py_REF_DEBUG' 2238 abi_only = true 2239[function._Py_NegativeRefcount] 2240 added = '3.10' 2241 ifdef = 'Py_REF_DEBUG' 2242 abi_only = true 2243 2244# New slots in 3.10: 2245 2246[const.Py_am_send] 2247 added = '3.10' 2248 2249 2250# New GC control functions in Py3.10 (https://bugs.python.org/issue28254) 2251 2252[function.PyGC_Disable] 2253 added = '3.10' 2254[function.PyGC_Enable] 2255 added = '3.10' 2256[function.PyGC_IsEnabled] 2257 added = '3.10' 2258 2259# Add new C API in Python 3.11 2260 2261[function.PyType_GetName] 2262 added = '3.11' 2263[function.PyType_GetQualName] 2264 added = '3.11' 2265[data.PyStructSequence_UnnamedField] 2266 added = '3.11' 2267 2268# Add stable Py_buffer API in Python 3.11 (https://bugs.python.org/issue45459) 2269[struct.Py_buffer] 2270 added = '3.11' 2271 struct_abi_kind = 'full-abi' 2272[function.PyObject_CheckBuffer] 2273 added = '3.11' 2274[function.PyObject_GetBuffer] 2275 added = '3.11' 2276[function.PyBuffer_GetPointer] 2277 added = '3.11' 2278[function.PyBuffer_SizeFromFormat] 2279 added = '3.11' 2280[function.PyBuffer_ToContiguous] 2281 added = '3.11' 2282[function.PyBuffer_FromContiguous] 2283 added = '3.11' 2284[function.PyObject_CopyData] 2285 added = '3.11' 2286[function.PyBuffer_IsContiguous] 2287 added = '3.11' 2288[function.PyBuffer_FillContiguousStrides] 2289 added = '3.11' 2290[function.PyBuffer_FillInfo] 2291 added = '3.11' 2292[function.PyBuffer_Release] 2293 added = '3.11' 2294[function.PyMemoryView_FromBuffer] 2295 added = '3.11' 2296 2297# Constants for Py_buffer API added to this list in Python 3.11.1 (https://github.com/python/cpython/issues/98680) 2298# (they were available with 3.11.0) 2299[const.PyBUF_MAX_NDIM] 2300 added = '3.11' 2301[const.PyBUF_SIMPLE] 2302 added = '3.11' 2303[const.PyBUF_WRITABLE] 2304 added = '3.11' 2305[const.PyBUF_FORMAT] 2306 added = '3.11' 2307[const.PyBUF_ND] 2308 added = '3.11' 2309[const.PyBUF_STRIDES] 2310 added = '3.11' 2311[const.PyBUF_C_CONTIGUOUS] 2312 added = '3.11' 2313[const.PyBUF_F_CONTIGUOUS] 2314 added = '3.11' 2315[const.PyBUF_ANY_CONTIGUOUS] 2316 added = '3.11' 2317[const.PyBUF_INDIRECT] 2318 added = '3.11' 2319[const.PyBUF_CONTIG] 2320 added = '3.11' 2321[const.PyBUF_CONTIG_RO] 2322 added = '3.11' 2323[const.PyBUF_STRIDED] 2324 added = '3.11' 2325[const.PyBUF_STRIDED_RO] 2326 added = '3.11' 2327[const.PyBUF_RECORDS] 2328 added = '3.11' 2329[const.PyBUF_RECORDS_RO] 2330 added = '3.11' 2331[const.PyBUF_FULL] 2332 added = '3.11' 2333[const.PyBUF_FULL_RO] 2334 added = '3.11' 2335[const.PyBUF_READ] 2336 added = '3.11' 2337[const.PyBUF_WRITE] 2338 added = '3.11' 2339 2340 2341# (Detailed comments aren't really needed for further entries: from here on 2342# we can use version control logs.) 2343 2344[data.Py_Version] 2345 added = '3.11' 2346[function.PyErr_GetHandledException] 2347 added = '3.11' 2348[function.PyErr_SetHandledException] 2349 added = '3.11' 2350 2351[function.PyType_FromMetaclass] 2352 added = '3.12' 2353[const.Py_TPFLAGS_HAVE_VECTORCALL] 2354 added = '3.12' 2355[function.PyVectorcall_NARGS] 2356 added = '3.12' 2357[function.PyVectorcall_Call] 2358 added = '3.12' 2359[function.PyErr_GetRaisedException] 2360 added = '3.12' 2361[function.PyErr_SetRaisedException] 2362 added = '3.12' 2363[function.PyException_GetArgs] 2364 added = '3.12' 2365[function.PyException_SetArgs] 2366 added = '3.12' 2367 2368[typedef.vectorcallfunc] 2369 added = '3.12' 2370[function.PyObject_Vectorcall] 2371 added = '3.12' 2372[function.PyObject_VectorcallMethod] 2373 added = '3.12' 2374[macro.PY_VECTORCALL_ARGUMENTS_OFFSET] 2375 added = '3.12' 2376[typedef.getbufferproc] 2377 added = '3.12' 2378[typedef.releasebufferproc] 2379 added = '3.12' 2380 2381[const.Py_T_BYTE] 2382 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2383[const.Py_T_SHORT] 2384 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2385[const.Py_T_INT] 2386 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2387[const.Py_T_LONG] 2388 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2389[const.Py_T_LONGLONG] 2390 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2391[const.Py_T_UBYTE] 2392 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2393[const.Py_T_UINT] 2394 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2395[const.Py_T_USHORT] 2396 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2397[const.Py_T_ULONG] 2398 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2399[const.Py_T_ULONGLONG] 2400 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2401[const.Py_T_PYSSIZET] 2402 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2403[const.Py_T_FLOAT] 2404 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2405[const.Py_T_DOUBLE] 2406 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2407[const.Py_T_BOOL] 2408 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2409[const.Py_T_STRING] 2410 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2411[const.Py_T_STRING_INPLACE] 2412 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2413[const.Py_T_CHAR] 2414 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2415[const.Py_T_OBJECT_EX] 2416 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2417[const.Py_READONLY] 2418 added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix 2419[const.Py_AUDIT_READ] 2420 added = '3.12' # Before 3.12, available in "structmember.h" 2421 2422[function.PyObject_GetTypeData] 2423 added = '3.12' 2424[function.PyType_GetTypeDataSize] 2425 added = '3.12' 2426[const.Py_RELATIVE_OFFSET] 2427 added = '3.12' 2428[const.Py_TPFLAGS_ITEMS_AT_END] 2429 added = '3.12' 2430[function.PyImport_AddModuleRef] 2431 added = '3.13' 2432[function.PyWeakref_GetRef] 2433 added = '3.13' 2434[function.PyObject_DelAttr] 2435 added = '3.13' 2436[function.PyObject_DelAttrString] 2437 added = '3.13' 2438[function.PyObject_GetOptionalAttr] 2439 added = '3.13' 2440[function.PyObject_GetOptionalAttrString] 2441 added = '3.13' 2442[function.PyMapping_GetOptionalItem] 2443 added = '3.13' 2444[function.PyMapping_GetOptionalItemString] 2445 added = '3.13' 2446[function.PyModule_Add] 2447 added = '3.13' 2448[function.PyDict_GetItemRef] 2449 added = '3.13' 2450[function.PyDict_GetItemStringRef] 2451 added = '3.13' 2452[function.PyLong_AsInt] 2453 added = '3.13' 2454[function.PyObject_HasAttrWithError] 2455 added = '3.13' 2456[function.PyObject_HasAttrStringWithError] 2457 added = '3.13' 2458[function.PyMapping_HasKeyWithError] 2459 added = '3.13' 2460[function.PyMapping_HasKeyStringWithError] 2461 added = '3.13' 2462[function.Py_IsFinalizing] 2463 added = '3.13' 2464[function.PyUnicode_EqualToUTF8] 2465 added = '3.13' 2466[function.PyUnicode_EqualToUTF8AndSize] 2467 added = '3.13' 2468[function.PyMem_RawMalloc] 2469 added = '3.13' 2470[function.PyMem_RawCalloc] 2471 added = '3.13' 2472[function.PyMem_RawRealloc] 2473 added = '3.13' 2474[function.PyMem_RawFree] 2475 added = '3.13' 2476[function.PySys_Audit] 2477 added = '3.13' 2478[function.PySys_AuditTuple] 2479 added = '3.13' 2480[function._Py_SetRefcnt] 2481 added = '3.13' 2482 abi_only = true 2483[function.PyList_GetItemRef] 2484 added = '3.13' 2485[typedef.PyCFunctionFast] 2486 added = '3.13' 2487 # "abi-only" since 3.10. (Callback type names aren't used in C code, 2488 # but this function signature was expected with METH_FASTCALL.) 2489[typedef.PyCFunctionFastWithKeywords] 2490 added = '3.13' 2491 # "abi-only" since 3.10. (Same story as PyCFunctionFast.) 2492[function.PyType_GetFullyQualifiedName] 2493 added = '3.13' 2494[function.PyType_GetModuleName] 2495 added = '3.13' 2496[function.Py_GetConstant] 2497 added = '3.13' 2498[function.Py_GetConstantBorrowed] 2499 added = '3.13' 2500[function.PyType_GetModuleByDef] 2501 added = '3.13' 2502[function.PyEval_GetFrameBuiltins] 2503 added = '3.13' 2504[function.PyEval_GetFrameGlobals] 2505 added = '3.13' 2506[function.PyEval_GetFrameLocals] 2507 added = '3.13' 2508