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