Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/Misc/stable_abi.toml
12 views
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
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' # Before 3.12, PyMemberDef required #include "structmember.h"
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
abi_only = true
451
[function.PyCFunction_GetFlags]
452
added = '3.2'
453
[function.PyCFunction_GetFunction]
454
added = '3.2'
455
[function.PyCFunction_GetSelf]
456
added = '3.2'
457
[function.PyCFunction_NewEx]
458
added = '3.2'
459
[data.PyCFunction_Type]
460
added = '3.2'
461
[function.PyCallIter_New]
462
added = '3.2'
463
[data.PyCallIter_Type]
464
added = '3.2'
465
[function.PyCallable_Check]
466
added = '3.2'
467
[function.PyCapsule_GetContext]
468
added = '3.2'
469
[function.PyCapsule_GetDestructor]
470
added = '3.2'
471
[function.PyCapsule_GetName]
472
added = '3.2'
473
[function.PyCapsule_GetPointer]
474
added = '3.2'
475
[function.PyCapsule_Import]
476
added = '3.2'
477
[function.PyCapsule_IsValid]
478
added = '3.2'
479
[function.PyCapsule_New]
480
added = '3.2'
481
[function.PyCapsule_SetContext]
482
added = '3.2'
483
[function.PyCapsule_SetDestructor]
484
added = '3.2'
485
[function.PyCapsule_SetName]
486
added = '3.2'
487
[function.PyCapsule_SetPointer]
488
added = '3.2'
489
[data.PyCapsule_Type]
490
added = '3.2'
491
[data.PyClassMethodDescr_Type]
492
added = '3.2'
493
[function.PyCodec_BackslashReplaceErrors]
494
added = '3.2'
495
[function.PyCodec_Decode]
496
added = '3.2'
497
[function.PyCodec_Decoder]
498
added = '3.2'
499
[function.PyCodec_Encode]
500
added = '3.2'
501
[function.PyCodec_Encoder]
502
added = '3.2'
503
[function.PyCodec_IgnoreErrors]
504
added = '3.2'
505
[function.PyCodec_IncrementalDecoder]
506
added = '3.2'
507
[function.PyCodec_IncrementalEncoder]
508
added = '3.2'
509
[function.PyCodec_KnownEncoding]
510
added = '3.2'
511
[function.PyCodec_LookupError]
512
added = '3.2'
513
[function.PyCodec_Register]
514
added = '3.2'
515
[function.PyCodec_RegisterError]
516
added = '3.2'
517
[function.PyCodec_ReplaceErrors]
518
added = '3.2'
519
[function.PyCodec_StreamReader]
520
added = '3.2'
521
[function.PyCodec_StreamWriter]
522
added = '3.2'
523
[function.PyCodec_StrictErrors]
524
added = '3.2'
525
[function.PyCodec_XMLCharRefReplaceErrors]
526
added = '3.2'
527
[function.PyComplex_FromDoubles]
528
added = '3.2'
529
[function.PyComplex_ImagAsDouble]
530
added = '3.2'
531
[function.PyComplex_RealAsDouble]
532
added = '3.2'
533
[data.PyComplex_Type]
534
added = '3.2'
535
[function.PyDescr_NewClassMethod]
536
added = '3.2'
537
[function.PyDescr_NewGetSet]
538
added = '3.2'
539
[function.PyDescr_NewMember]
540
added = '3.2'
541
[function.PyDescr_NewMethod]
542
added = '3.2'
543
[data.PyDictItems_Type]
544
added = '3.2'
545
[data.PyDictIterItem_Type]
546
added = '3.2'
547
[data.PyDictIterKey_Type]
548
added = '3.2'
549
[data.PyDictIterValue_Type]
550
added = '3.2'
551
[data.PyDictKeys_Type]
552
added = '3.2'
553
[function.PyDictProxy_New]
554
added = '3.2'
555
[data.PyDictProxy_Type]
556
added = '3.2'
557
[data.PyDictValues_Type]
558
added = '3.2'
559
[function.PyDict_Clear]
560
added = '3.2'
561
[function.PyDict_Contains]
562
added = '3.2'
563
[function.PyDict_Copy]
564
added = '3.2'
565
[function.PyDict_DelItem]
566
added = '3.2'
567
[function.PyDict_DelItemString]
568
added = '3.2'
569
[function.PyDict_GetItem]
570
added = '3.2'
571
[function.PyDict_GetItemString]
572
added = '3.2'
573
[function.PyDict_GetItemWithError]
574
added = '3.2'
575
[function.PyDict_Items]
576
added = '3.2'
577
[function.PyDict_Keys]
578
added = '3.2'
579
[function.PyDict_Merge]
580
added = '3.2'
581
[function.PyDict_MergeFromSeq2]
582
added = '3.2'
583
[function.PyDict_New]
584
added = '3.2'
585
[function.PyDict_Next]
586
added = '3.2'
587
[function.PyDict_SetItem]
588
added = '3.2'
589
[function.PyDict_SetItemString]
590
added = '3.2'
591
[function.PyDict_Size]
592
added = '3.2'
593
[data.PyDict_Type]
594
added = '3.2'
595
[function.PyDict_Update]
596
added = '3.2'
597
[function.PyDict_Values]
598
added = '3.2'
599
[data.PyEllipsis_Type]
600
added = '3.2'
601
[data.PyEnum_Type]
602
added = '3.2'
603
[function.PyErr_BadArgument]
604
added = '3.2'
605
[function.PyErr_BadInternalCall]
606
added = '3.2'
607
[function.PyErr_CheckSignals]
608
added = '3.2'
609
[function.PyErr_Clear]
610
added = '3.2'
611
[function.PyErr_Display]
612
added = '3.2'
613
[function.PyErr_DisplayException]
614
added = '3.12'
615
[function.PyErr_ExceptionMatches]
616
added = '3.2'
617
[function.PyErr_Fetch]
618
added = '3.2'
619
[function.PyErr_Format]
620
added = '3.2'
621
[function.PyErr_GivenExceptionMatches]
622
added = '3.2'
623
[function.PyErr_NewException]
624
added = '3.2'
625
[function.PyErr_NewExceptionWithDoc]
626
added = '3.2'
627
[function.PyErr_NoMemory]
628
added = '3.2'
629
[function.PyErr_NormalizeException]
630
added = '3.2'
631
[function.PyErr_Occurred]
632
added = '3.2'
633
[function.PyErr_Print]
634
added = '3.2'
635
[function.PyErr_PrintEx]
636
added = '3.2'
637
[function.PyErr_ProgramText]
638
added = '3.2'
639
[function.PyErr_Restore]
640
added = '3.2'
641
[function.PyErr_SetFromErrno]
642
added = '3.2'
643
[function.PyErr_SetFromErrnoWithFilename]
644
added = '3.2'
645
[function.PyErr_SetFromErrnoWithFilenameObject]
646
added = '3.2'
647
[function.PyErr_SetInterrupt]
648
added = '3.2'
649
[function.PyErr_SetNone]
650
added = '3.2'
651
[function.PyErr_SetObject]
652
added = '3.2'
653
[function.PyErr_SetString]
654
added = '3.2'
655
[function.PyErr_SyntaxLocation]
656
added = '3.2'
657
[function.PyErr_WarnEx]
658
added = '3.2'
659
[function.PyErr_WarnExplicit]
660
added = '3.2'
661
[function.PyErr_WarnFormat]
662
added = '3.2'
663
[function.PyErr_WriteUnraisable]
664
added = '3.2'
665
[function.PyEval_AcquireLock]
666
added = '3.2'
667
abi_only = true
668
[function.PyEval_AcquireThread]
669
added = '3.2'
670
[function.PyEval_CallFunction]
671
added = '3.2'
672
abi_only = true
673
[function.PyEval_CallMethod]
674
added = '3.2'
675
abi_only = true
676
[function.PyEval_CallObjectWithKeywords]
677
added = '3.2'
678
abi_only = true
679
[function.PyEval_EvalCode]
680
added = '3.2'
681
[function.PyEval_EvalCodeEx]
682
added = '3.2'
683
[function.PyEval_EvalFrame]
684
added = '3.2'
685
[function.PyEval_EvalFrameEx]
686
added = '3.2'
687
[function.PyEval_GetBuiltins]
688
added = '3.2'
689
[function.PyEval_GetFrame]
690
added = '3.2'
691
[function.PyEval_GetFuncDesc]
692
added = '3.2'
693
[function.PyEval_GetFuncName]
694
added = '3.2'
695
[function.PyEval_GetGlobals]
696
added = '3.2'
697
[function.PyEval_GetLocals]
698
added = '3.2'
699
[function.PyEval_InitThreads]
700
added = '3.2'
701
abi_only = true
702
[function.PyEval_ReleaseLock]
703
added = '3.2'
704
abi_only = true
705
[function.PyEval_ReleaseThread]
706
added = '3.2'
707
[function.PyEval_RestoreThread]
708
added = '3.2'
709
[function.PyEval_SaveThread]
710
added = '3.2'
711
[function.PyEval_ThreadsInitialized]
712
added = '3.2'
713
abi_only = true
714
[data.PyExc_ArithmeticError]
715
added = '3.2'
716
[data.PyExc_AssertionError]
717
added = '3.2'
718
[data.PyExc_AttributeError]
719
added = '3.2'
720
[data.PyExc_BaseException]
721
added = '3.2'
722
[data.PyExc_BaseExceptionGroup]
723
added = '3.11'
724
[data.PyExc_BufferError]
725
added = '3.2'
726
[data.PyExc_BytesWarning]
727
added = '3.2'
728
[data.PyExc_DeprecationWarning]
729
added = '3.2'
730
[data.PyExc_EOFError]
731
added = '3.2'
732
[data.PyExc_EnvironmentError]
733
added = '3.2'
734
[data.PyExc_Exception]
735
added = '3.2'
736
[data.PyExc_FloatingPointError]
737
added = '3.2'
738
[data.PyExc_FutureWarning]
739
added = '3.2'
740
[data.PyExc_GeneratorExit]
741
added = '3.2'
742
[data.PyExc_IOError]
743
added = '3.2'
744
[data.PyExc_ImportError]
745
added = '3.2'
746
[data.PyExc_ImportWarning]
747
added = '3.2'
748
[data.PyExc_IndentationError]
749
added = '3.2'
750
[data.PyExc_IndexError]
751
added = '3.2'
752
[data.PyExc_KeyError]
753
added = '3.2'
754
[data.PyExc_KeyboardInterrupt]
755
added = '3.2'
756
[data.PyExc_LookupError]
757
added = '3.2'
758
[data.PyExc_MemoryError]
759
added = '3.2'
760
[data.PyExc_NameError]
761
added = '3.2'
762
[data.PyExc_NotImplementedError]
763
added = '3.2'
764
[data.PyExc_OSError]
765
added = '3.2'
766
[data.PyExc_OverflowError]
767
added = '3.2'
768
[data.PyExc_PendingDeprecationWarning]
769
added = '3.2'
770
[data.PyExc_ReferenceError]
771
added = '3.2'
772
[data.PyExc_RuntimeError]
773
added = '3.2'
774
[data.PyExc_RuntimeWarning]
775
added = '3.2'
776
[data.PyExc_StopIteration]
777
added = '3.2'
778
[data.PyExc_SyntaxError]
779
added = '3.2'
780
[data.PyExc_SyntaxWarning]
781
added = '3.2'
782
[data.PyExc_SystemError]
783
added = '3.2'
784
[data.PyExc_SystemExit]
785
added = '3.2'
786
[data.PyExc_TabError]
787
added = '3.2'
788
[data.PyExc_TypeError]
789
added = '3.2'
790
[data.PyExc_UnboundLocalError]
791
added = '3.2'
792
[data.PyExc_UnicodeDecodeError]
793
added = '3.2'
794
[data.PyExc_UnicodeEncodeError]
795
added = '3.2'
796
[data.PyExc_UnicodeError]
797
added = '3.2'
798
[data.PyExc_UnicodeTranslateError]
799
added = '3.2'
800
[data.PyExc_UnicodeWarning]
801
added = '3.2'
802
[data.PyExc_UserWarning]
803
added = '3.2'
804
[data.PyExc_ValueError]
805
added = '3.2'
806
[data.PyExc_Warning]
807
added = '3.2'
808
[data.PyExc_ZeroDivisionError]
809
added = '3.2'
810
[function.PyException_GetCause]
811
added = '3.2'
812
[function.PyException_GetContext]
813
added = '3.2'
814
[function.PyException_GetTraceback]
815
added = '3.2'
816
[function.PyException_SetCause]
817
added = '3.2'
818
[function.PyException_SetContext]
819
added = '3.2'
820
[function.PyException_SetTraceback]
821
added = '3.2'
822
[function.PyFile_FromFd]
823
added = '3.2'
824
[function.PyFile_GetLine]
825
added = '3.2'
826
[function.PyFile_WriteObject]
827
added = '3.2'
828
[function.PyFile_WriteString]
829
added = '3.2'
830
[data.PyFilter_Type]
831
added = '3.2'
832
[function.PyFloat_AsDouble]
833
added = '3.2'
834
[function.PyFloat_FromDouble]
835
added = '3.2'
836
[function.PyFloat_FromString]
837
added = '3.2'
838
[function.PyFloat_GetInfo]
839
added = '3.2'
840
[function.PyFloat_GetMax]
841
added = '3.2'
842
[function.PyFloat_GetMin]
843
added = '3.2'
844
[data.PyFloat_Type]
845
added = '3.2'
846
[function.PyFrozenSet_New]
847
added = '3.2'
848
[data.PyFrozenSet_Type]
849
added = '3.2'
850
[function.PyGC_Collect]
851
added = '3.2'
852
[function.PyGILState_Ensure]
853
added = '3.2'
854
[function.PyGILState_GetThisThreadState]
855
added = '3.2'
856
[function.PyGILState_Release]
857
added = '3.2'
858
[data.PyGetSetDescr_Type]
859
added = '3.2'
860
[function.PyImport_AddModule]
861
added = '3.2'
862
[function.PyImport_AppendInittab]
863
added = '3.2'
864
[function.PyImport_ExecCodeModule]
865
added = '3.2'
866
[function.PyImport_ExecCodeModuleEx]
867
added = '3.2'
868
[function.PyImport_ExecCodeModuleWithPathnames]
869
added = '3.2'
870
[function.PyImport_GetImporter]
871
added = '3.2'
872
[function.PyImport_GetMagicNumber]
873
added = '3.2'
874
[function.PyImport_GetMagicTag]
875
added = '3.2'
876
[function.PyImport_GetModuleDict]
877
added = '3.2'
878
[function.PyImport_Import]
879
added = '3.2'
880
[function.PyImport_ImportFrozenModule]
881
added = '3.2'
882
[function.PyImport_ImportModule]
883
added = '3.2'
884
[function.PyImport_ImportModuleLevel]
885
added = '3.2'
886
[function.PyImport_ImportModuleNoBlock]
887
added = '3.2'
888
[function.PyImport_ReloadModule]
889
added = '3.2'
890
[function.PyInterpreterState_Clear]
891
added = '3.2'
892
[function.PyInterpreterState_Delete]
893
added = '3.2'
894
[function.PyInterpreterState_New]
895
added = '3.2'
896
[function.PyIter_Next]
897
added = '3.2'
898
[data.PyListIter_Type]
899
added = '3.2'
900
[data.PyListRevIter_Type]
901
added = '3.2'
902
[function.PyList_Append]
903
added = '3.2'
904
[function.PyList_AsTuple]
905
added = '3.2'
906
[function.PyList_GetItem]
907
added = '3.2'
908
[function.PyList_GetSlice]
909
added = '3.2'
910
[function.PyList_Insert]
911
added = '3.2'
912
[function.PyList_New]
913
added = '3.2'
914
[function.PyList_Reverse]
915
added = '3.2'
916
[function.PyList_SetItem]
917
added = '3.2'
918
[function.PyList_SetSlice]
919
added = '3.2'
920
[function.PyList_Size]
921
added = '3.2'
922
[function.PyList_Sort]
923
added = '3.2'
924
[data.PyList_Type]
925
added = '3.2'
926
[data.PyLongRangeIter_Type]
927
added = '3.2'
928
[function.PyLong_AsDouble]
929
added = '3.2'
930
[function.PyLong_AsLong]
931
added = '3.2'
932
[function.PyLong_AsLongAndOverflow]
933
added = '3.2'
934
[function.PyLong_AsLongLong]
935
added = '3.2'
936
[function.PyLong_AsLongLongAndOverflow]
937
added = '3.2'
938
[function.PyLong_AsSize_t]
939
added = '3.2'
940
[function.PyLong_AsSsize_t]
941
added = '3.2'
942
[function.PyLong_AsUnsignedLong]
943
added = '3.2'
944
[function.PyLong_AsUnsignedLongLong]
945
added = '3.2'
946
[function.PyLong_AsUnsignedLongLongMask]
947
added = '3.2'
948
[function.PyLong_AsUnsignedLongMask]
949
added = '3.2'
950
[function.PyLong_AsVoidPtr]
951
added = '3.2'
952
[function.PyLong_FromDouble]
953
added = '3.2'
954
[function.PyLong_FromLong]
955
added = '3.2'
956
[function.PyLong_FromLongLong]
957
added = '3.2'
958
[function.PyLong_FromSize_t]
959
added = '3.2'
960
[function.PyLong_FromSsize_t]
961
added = '3.2'
962
[function.PyLong_FromString]
963
added = '3.2'
964
[function.PyLong_FromUnsignedLong]
965
added = '3.2'
966
[function.PyLong_FromUnsignedLongLong]
967
added = '3.2'
968
[function.PyLong_FromVoidPtr]
969
added = '3.2'
970
[function.PyLong_GetInfo]
971
added = '3.2'
972
[data.PyLong_Type]
973
added = '3.2'
974
[data.PyMap_Type]
975
added = '3.2'
976
[function.PyMapping_Check]
977
added = '3.2'
978
[function.PyMapping_GetItemString]
979
added = '3.2'
980
[function.PyMapping_HasKey]
981
added = '3.2'
982
[function.PyMapping_HasKeyString]
983
added = '3.2'
984
[function.PyMapping_Items]
985
added = '3.2'
986
[function.PyMapping_Keys]
987
added = '3.2'
988
[function.PyMapping_Length]
989
added = '3.2'
990
[function.PyMapping_SetItemString]
991
added = '3.2'
992
[function.PyMapping_Size]
993
added = '3.2'
994
[function.PyMapping_Values]
995
added = '3.2'
996
[function.PyMem_Free]
997
added = '3.2'
998
[function.PyMem_Malloc]
999
added = '3.2'
1000
[function.PyMem_Realloc]
1001
added = '3.2'
1002
[data.PyMemberDescr_Type]
1003
added = '3.2'
1004
[function.PyMemoryView_FromObject]
1005
added = '3.2'
1006
[function.PyMemoryView_GetContiguous]
1007
added = '3.2'
1008
[data.PyMemoryView_Type]
1009
added = '3.2'
1010
[data.PyMethodDescr_Type]
1011
added = '3.2'
1012
[function.PyModule_AddIntConstant]
1013
added = '3.2'
1014
[function.PyModule_AddObject]
1015
added = '3.2'
1016
[function.PyModule_AddStringConstant]
1017
added = '3.2'
1018
[function.PyModule_Create2]
1019
added = '3.2'
1020
[function.PyModule_GetDef]
1021
added = '3.2'
1022
[function.PyModule_GetDict]
1023
added = '3.2'
1024
[function.PyModule_GetFilename]
1025
added = '3.2'
1026
[function.PyModule_GetFilenameObject]
1027
added = '3.2'
1028
[function.PyModule_GetName]
1029
added = '3.2'
1030
[function.PyModule_GetState]
1031
added = '3.2'
1032
[function.PyModule_New]
1033
added = '3.2'
1034
[data.PyModule_Type]
1035
added = '3.2'
1036
[function.PyNumber_Absolute]
1037
added = '3.2'
1038
[function.PyNumber_Add]
1039
added = '3.2'
1040
[function.PyNumber_And]
1041
added = '3.2'
1042
[function.PyNumber_AsSsize_t]
1043
added = '3.2'
1044
[function.PyNumber_Check]
1045
added = '3.2'
1046
[function.PyNumber_Divmod]
1047
added = '3.2'
1048
[function.PyNumber_Float]
1049
added = '3.2'
1050
[function.PyNumber_FloorDivide]
1051
added = '3.2'
1052
[function.PyNumber_InPlaceAdd]
1053
added = '3.2'
1054
[function.PyNumber_InPlaceAnd]
1055
added = '3.2'
1056
[function.PyNumber_InPlaceFloorDivide]
1057
added = '3.2'
1058
[function.PyNumber_InPlaceLshift]
1059
added = '3.2'
1060
[function.PyNumber_InPlaceMultiply]
1061
added = '3.2'
1062
[function.PyNumber_InPlaceOr]
1063
added = '3.2'
1064
[function.PyNumber_InPlacePower]
1065
added = '3.2'
1066
[function.PyNumber_InPlaceRemainder]
1067
added = '3.2'
1068
[function.PyNumber_InPlaceRshift]
1069
added = '3.2'
1070
[function.PyNumber_InPlaceSubtract]
1071
added = '3.2'
1072
[function.PyNumber_InPlaceTrueDivide]
1073
added = '3.2'
1074
[function.PyNumber_InPlaceXor]
1075
added = '3.2'
1076
[function.PyNumber_Index]
1077
added = '3.2'
1078
[function.PyNumber_Invert]
1079
added = '3.2'
1080
[function.PyNumber_Long]
1081
added = '3.2'
1082
[function.PyNumber_Lshift]
1083
added = '3.2'
1084
[function.PyNumber_Multiply]
1085
added = '3.2'
1086
[function.PyNumber_Negative]
1087
added = '3.2'
1088
[function.PyNumber_Or]
1089
added = '3.2'
1090
[function.PyNumber_Positive]
1091
added = '3.2'
1092
[function.PyNumber_Power]
1093
added = '3.2'
1094
[function.PyNumber_Remainder]
1095
added = '3.2'
1096
[function.PyNumber_Rshift]
1097
added = '3.2'
1098
[function.PyNumber_Subtract]
1099
added = '3.2'
1100
[function.PyNumber_ToBase]
1101
added = '3.2'
1102
[function.PyNumber_TrueDivide]
1103
added = '3.2'
1104
[function.PyNumber_Xor]
1105
added = '3.2'
1106
[function.PyOS_AfterFork]
1107
added = '3.2'
1108
ifdef = 'HAVE_FORK'
1109
[data.PyOS_InputHook]
1110
added = '3.2'
1111
[function.PyOS_InterruptOccurred]
1112
added = '3.2'
1113
[function.PyOS_double_to_string]
1114
added = '3.2'
1115
[function.PyOS_getsig]
1116
added = '3.2'
1117
[function.PyOS_mystricmp]
1118
added = '3.2'
1119
[function.PyOS_mystrnicmp]
1120
added = '3.2'
1121
[function.PyOS_setsig]
1122
added = '3.2'
1123
[function.PyOS_snprintf]
1124
added = '3.2'
1125
[function.PyOS_string_to_double]
1126
added = '3.2'
1127
[function.PyOS_strtol]
1128
added = '3.2'
1129
[function.PyOS_strtoul]
1130
added = '3.2'
1131
[function.PyOS_vsnprintf]
1132
added = '3.2'
1133
[function.PyObject_ASCII]
1134
added = '3.2'
1135
[function.PyObject_AsFileDescriptor]
1136
added = '3.2'
1137
[function.PyObject_Bytes]
1138
added = '3.2'
1139
[function.PyObject_Call]
1140
added = '3.2'
1141
[function.PyObject_CallFunction]
1142
added = '3.2'
1143
[function.PyObject_CallFunctionObjArgs]
1144
added = '3.2'
1145
[function.PyObject_CallMethod]
1146
added = '3.2'
1147
[function.PyObject_CallMethodObjArgs]
1148
added = '3.2'
1149
[function.PyObject_CallObject]
1150
added = '3.2'
1151
[function.PyObject_ClearWeakRefs]
1152
added = '3.2'
1153
[function.PyObject_DelItem]
1154
added = '3.2'
1155
[function.PyObject_DelItemString]
1156
added = '3.2'
1157
[function.PyObject_Dir]
1158
added = '3.2'
1159
[function.PyObject_Format]
1160
added = '3.2'
1161
[function.PyObject_Free]
1162
added = '3.2'
1163
[function.PyObject_GC_Del]
1164
added = '3.2'
1165
[function.PyObject_GC_Track]
1166
added = '3.2'
1167
[function.PyObject_GC_UnTrack]
1168
added = '3.2'
1169
[function.PyObject_GenericGetAttr]
1170
added = '3.2'
1171
[function.PyObject_GenericSetAttr]
1172
added = '3.2'
1173
[function.PyObject_GetAttr]
1174
added = '3.2'
1175
[function.PyObject_GetAttrString]
1176
added = '3.2'
1177
[function.PyObject_GetItem]
1178
added = '3.2'
1179
[function.PyObject_GetIter]
1180
added = '3.2'
1181
[function.PyObject_HasAttr]
1182
added = '3.2'
1183
[function.PyObject_HasAttrString]
1184
added = '3.2'
1185
[function.PyObject_Hash]
1186
added = '3.2'
1187
[function.PyObject_HashNotImplemented]
1188
added = '3.2'
1189
[function.PyObject_Init]
1190
added = '3.2'
1191
[function.PyObject_InitVar]
1192
added = '3.2'
1193
[function.PyObject_IsInstance]
1194
added = '3.2'
1195
[function.PyObject_IsSubclass]
1196
added = '3.2'
1197
[function.PyObject_IsTrue]
1198
added = '3.2'
1199
[function.PyObject_Length]
1200
added = '3.2'
1201
[function.PyObject_Malloc]
1202
added = '3.2'
1203
[function.PyObject_Not]
1204
added = '3.2'
1205
[function.PyObject_Realloc]
1206
added = '3.2'
1207
[function.PyObject_Repr]
1208
added = '3.2'
1209
[function.PyObject_RichCompare]
1210
added = '3.2'
1211
[function.PyObject_RichCompareBool]
1212
added = '3.2'
1213
[function.PyObject_SelfIter]
1214
added = '3.2'
1215
[function.PyObject_SetAttr]
1216
added = '3.2'
1217
[function.PyObject_SetAttrString]
1218
added = '3.2'
1219
[function.PyObject_SetItem]
1220
added = '3.2'
1221
[function.PyObject_Size]
1222
added = '3.2'
1223
[function.PyObject_Str]
1224
added = '3.2'
1225
[function.PyObject_Type]
1226
added = '3.2'
1227
[data.PyProperty_Type]
1228
added = '3.2'
1229
[data.PyRangeIter_Type]
1230
added = '3.2'
1231
[data.PyRange_Type]
1232
added = '3.2'
1233
[data.PyReversed_Type]
1234
added = '3.2'
1235
[function.PySeqIter_New]
1236
added = '3.2'
1237
[data.PySeqIter_Type]
1238
added = '3.2'
1239
[function.PySequence_Check]
1240
added = '3.2'
1241
[function.PySequence_Concat]
1242
added = '3.2'
1243
[function.PySequence_Contains]
1244
added = '3.2'
1245
[function.PySequence_Count]
1246
added = '3.2'
1247
[function.PySequence_DelItem]
1248
added = '3.2'
1249
[function.PySequence_DelSlice]
1250
added = '3.2'
1251
[function.PySequence_Fast]
1252
added = '3.2'
1253
[function.PySequence_GetItem]
1254
added = '3.2'
1255
[function.PySequence_GetSlice]
1256
added = '3.2'
1257
[function.PySequence_In]
1258
added = '3.2'
1259
[function.PySequence_InPlaceConcat]
1260
added = '3.2'
1261
[function.PySequence_InPlaceRepeat]
1262
added = '3.2'
1263
[function.PySequence_Index]
1264
added = '3.2'
1265
[function.PySequence_Length]
1266
added = '3.2'
1267
[function.PySequence_List]
1268
added = '3.2'
1269
[function.PySequence_Repeat]
1270
added = '3.2'
1271
[function.PySequence_SetItem]
1272
added = '3.2'
1273
[function.PySequence_SetSlice]
1274
added = '3.2'
1275
[function.PySequence_Size]
1276
added = '3.2'
1277
[function.PySequence_Tuple]
1278
added = '3.2'
1279
[data.PySetIter_Type]
1280
added = '3.2'
1281
[function.PySet_Add]
1282
added = '3.2'
1283
[function.PySet_Clear]
1284
added = '3.2'
1285
[function.PySet_Contains]
1286
added = '3.2'
1287
[function.PySet_Discard]
1288
added = '3.2'
1289
[function.PySet_New]
1290
added = '3.2'
1291
[function.PySet_Pop]
1292
added = '3.2'
1293
[function.PySet_Size]
1294
added = '3.2'
1295
[data.PySet_Type]
1296
added = '3.2'
1297
[function.PySlice_GetIndices]
1298
added = '3.2'
1299
[function.PySlice_GetIndicesEx]
1300
added = '3.2'
1301
[function.PySlice_New]
1302
added = '3.2'
1303
[data.PySlice_Type]
1304
added = '3.2'
1305
[function.PyState_FindModule]
1306
added = '3.2'
1307
[function.PyStructSequence_GetItem]
1308
added = '3.2'
1309
[function.PyStructSequence_New]
1310
added = '3.2'
1311
[function.PyStructSequence_NewType]
1312
added = '3.2'
1313
[function.PyStructSequence_SetItem]
1314
added = '3.2'
1315
[data.PySuper_Type]
1316
added = '3.2'
1317
[function.PySys_AddWarnOption]
1318
added = '3.2'
1319
abi_only = true
1320
[function.PySys_AddWarnOptionUnicode]
1321
added = '3.2'
1322
abi_only = true
1323
[function.PySys_FormatStderr]
1324
added = '3.2'
1325
[function.PySys_FormatStdout]
1326
added = '3.2'
1327
[function.PySys_GetObject]
1328
added = '3.2'
1329
[function.PySys_HasWarnOptions]
1330
added = '3.2'
1331
abi_only = true
1332
[function.PySys_ResetWarnOptions]
1333
added = '3.2'
1334
[function.PySys_SetArgv]
1335
added = '3.2'
1336
abi_only = true
1337
[function.PySys_SetArgvEx]
1338
added = '3.2'
1339
abi_only = true
1340
[function.PySys_SetObject]
1341
added = '3.2'
1342
[function.PySys_SetPath]
1343
added = '3.2'
1344
abi_only = true
1345
[function.PySys_WriteStderr]
1346
added = '3.2'
1347
[function.PySys_WriteStdout]
1348
added = '3.2'
1349
[function.PyThreadState_Clear]
1350
added = '3.2'
1351
[function.PyThreadState_Delete]
1352
added = '3.2'
1353
[function.PyThreadState_DeleteCurrent]
1354
added = '3.2'
1355
abi_only = true
1356
[function.PyThreadState_Get]
1357
added = '3.2'
1358
[function.PyThreadState_GetDict]
1359
added = '3.2'
1360
[function.PyThreadState_New]
1361
added = '3.2'
1362
[function.PyThreadState_SetAsyncExc]
1363
added = '3.2'
1364
[function.PyThreadState_Swap]
1365
added = '3.2'
1366
[function.PyTraceBack_Here]
1367
added = '3.2'
1368
[function.PyTraceBack_Print]
1369
added = '3.2'
1370
[data.PyTraceBack_Type]
1371
added = '3.2'
1372
[data.PyTupleIter_Type]
1373
added = '3.2'
1374
[function.PyTuple_GetItem]
1375
added = '3.2'
1376
[function.PyTuple_GetSlice]
1377
added = '3.2'
1378
[function.PyTuple_New]
1379
added = '3.2'
1380
[function.PyTuple_Pack]
1381
added = '3.2'
1382
[function.PyTuple_SetItem]
1383
added = '3.2'
1384
[function.PyTuple_Size]
1385
added = '3.2'
1386
[data.PyTuple_Type]
1387
added = '3.2'
1388
[function.PyType_ClearCache]
1389
added = '3.2'
1390
[function.PyType_GenericAlloc]
1391
added = '3.2'
1392
[function.PyType_GenericNew]
1393
added = '3.2'
1394
[function.PyType_GetFlags]
1395
added = '3.2'
1396
[function.PyType_IsSubtype]
1397
added = '3.2'
1398
[function.PyType_Modified]
1399
added = '3.2'
1400
[function.PyType_Ready]
1401
added = '3.2'
1402
[data.PyType_Type]
1403
added = '3.2'
1404
[function.PyUnicodeDecodeError_Create]
1405
added = '3.2'
1406
[function.PyUnicodeDecodeError_GetEncoding]
1407
added = '3.2'
1408
[function.PyUnicodeDecodeError_GetEnd]
1409
added = '3.2'
1410
[function.PyUnicodeDecodeError_GetObject]
1411
added = '3.2'
1412
[function.PyUnicodeDecodeError_GetReason]
1413
added = '3.2'
1414
[function.PyUnicodeDecodeError_GetStart]
1415
added = '3.2'
1416
[function.PyUnicodeDecodeError_SetEnd]
1417
added = '3.2'
1418
[function.PyUnicodeDecodeError_SetReason]
1419
added = '3.2'
1420
[function.PyUnicodeDecodeError_SetStart]
1421
added = '3.2'
1422
[function.PyUnicodeEncodeError_GetEncoding]
1423
added = '3.2'
1424
[function.PyUnicodeEncodeError_GetEnd]
1425
added = '3.2'
1426
[function.PyUnicodeEncodeError_GetObject]
1427
added = '3.2'
1428
[function.PyUnicodeEncodeError_GetReason]
1429
added = '3.2'
1430
[function.PyUnicodeEncodeError_GetStart]
1431
added = '3.2'
1432
[function.PyUnicodeEncodeError_SetEnd]
1433
added = '3.2'
1434
[function.PyUnicodeEncodeError_SetReason]
1435
added = '3.2'
1436
[function.PyUnicodeEncodeError_SetStart]
1437
added = '3.2'
1438
[data.PyUnicodeIter_Type]
1439
added = '3.2'
1440
[function.PyUnicodeTranslateError_GetEnd]
1441
added = '3.2'
1442
[function.PyUnicodeTranslateError_GetObject]
1443
added = '3.2'
1444
[function.PyUnicodeTranslateError_GetReason]
1445
added = '3.2'
1446
[function.PyUnicodeTranslateError_GetStart]
1447
added = '3.2'
1448
[function.PyUnicodeTranslateError_SetEnd]
1449
added = '3.2'
1450
[function.PyUnicodeTranslateError_SetReason]
1451
added = '3.2'
1452
[function.PyUnicodeTranslateError_SetStart]
1453
added = '3.2'
1454
[function.PyUnicode_Append]
1455
added = '3.2'
1456
[function.PyUnicode_AppendAndDel]
1457
added = '3.2'
1458
[function.PyUnicode_AsASCIIString]
1459
added = '3.2'
1460
[function.PyUnicode_AsCharmapString]
1461
added = '3.2'
1462
[function.PyUnicode_AsDecodedObject]
1463
added = '3.2'
1464
[function.PyUnicode_AsDecodedUnicode]
1465
added = '3.2'
1466
[function.PyUnicode_AsEncodedObject]
1467
added = '3.2'
1468
[function.PyUnicode_AsEncodedString]
1469
added = '3.2'
1470
[function.PyUnicode_AsEncodedUnicode]
1471
added = '3.2'
1472
[function.PyUnicode_AsLatin1String]
1473
added = '3.2'
1474
[function.PyUnicode_AsRawUnicodeEscapeString]
1475
added = '3.2'
1476
[function.PyUnicode_AsUTF16String]
1477
added = '3.2'
1478
[function.PyUnicode_AsUTF32String]
1479
added = '3.2'
1480
[function.PyUnicode_AsUTF8String]
1481
added = '3.2'
1482
[function.PyUnicode_AsUnicodeEscapeString]
1483
added = '3.2'
1484
[function.PyUnicode_AsWideChar]
1485
added = '3.2'
1486
[function.PyUnicode_Compare]
1487
added = '3.2'
1488
[function.PyUnicode_Concat]
1489
added = '3.2'
1490
[function.PyUnicode_Contains]
1491
added = '3.2'
1492
[function.PyUnicode_Count]
1493
added = '3.2'
1494
[function.PyUnicode_Decode]
1495
added = '3.2'
1496
[function.PyUnicode_DecodeASCII]
1497
added = '3.2'
1498
[function.PyUnicode_DecodeCharmap]
1499
added = '3.2'
1500
[function.PyUnicode_DecodeFSDefault]
1501
added = '3.2'
1502
[function.PyUnicode_DecodeFSDefaultAndSize]
1503
added = '3.2'
1504
[function.PyUnicode_DecodeLatin1]
1505
added = '3.2'
1506
[function.PyUnicode_DecodeRawUnicodeEscape]
1507
added = '3.2'
1508
[function.PyUnicode_DecodeUTF16]
1509
added = '3.2'
1510
[function.PyUnicode_DecodeUTF16Stateful]
1511
added = '3.2'
1512
[function.PyUnicode_DecodeUTF32]
1513
added = '3.2'
1514
[function.PyUnicode_DecodeUTF32Stateful]
1515
added = '3.2'
1516
[function.PyUnicode_DecodeUTF8]
1517
added = '3.2'
1518
[function.PyUnicode_DecodeUTF8Stateful]
1519
added = '3.2'
1520
[function.PyUnicode_DecodeUnicodeEscape]
1521
added = '3.2'
1522
[function.PyUnicode_FSConverter]
1523
added = '3.2'
1524
[function.PyUnicode_FSDecoder]
1525
added = '3.2'
1526
[function.PyUnicode_Find]
1527
added = '3.2'
1528
[function.PyUnicode_Format]
1529
added = '3.2'
1530
[function.PyUnicode_FromEncodedObject]
1531
added = '3.2'
1532
[function.PyUnicode_FromFormat]
1533
added = '3.2'
1534
[function.PyUnicode_FromFormatV]
1535
added = '3.2'
1536
[function.PyUnicode_FromObject]
1537
added = '3.2'
1538
[function.PyUnicode_FromOrdinal]
1539
added = '3.2'
1540
[function.PyUnicode_FromString]
1541
added = '3.2'
1542
[function.PyUnicode_FromStringAndSize]
1543
added = '3.2'
1544
[function.PyUnicode_FromWideChar]
1545
added = '3.2'
1546
[function.PyUnicode_GetDefaultEncoding]
1547
added = '3.2'
1548
[function.PyUnicode_GetSize]
1549
added = '3.2'
1550
abi_only = true
1551
[function.PyUnicode_IsIdentifier]
1552
added = '3.2'
1553
[function.PyUnicode_Join]
1554
added = '3.2'
1555
[function.PyUnicode_Partition]
1556
added = '3.2'
1557
[function.PyUnicode_RPartition]
1558
added = '3.2'
1559
[function.PyUnicode_RSplit]
1560
added = '3.2'
1561
[function.PyUnicode_Replace]
1562
added = '3.2'
1563
[function.PyUnicode_Resize]
1564
added = '3.2'
1565
[function.PyUnicode_RichCompare]
1566
added = '3.2'
1567
[function.PyUnicode_Split]
1568
added = '3.2'
1569
[function.PyUnicode_Splitlines]
1570
added = '3.2'
1571
[function.PyUnicode_Tailmatch]
1572
added = '3.2'
1573
[function.PyUnicode_Translate]
1574
added = '3.2'
1575
[function.PyUnicode_BuildEncodingMap]
1576
added = '3.2'
1577
[function.PyUnicode_CompareWithASCIIString]
1578
added = '3.2'
1579
[function.PyUnicode_DecodeUTF7]
1580
added = '3.2'
1581
[function.PyUnicode_DecodeUTF7Stateful]
1582
added = '3.2'
1583
[function.PyUnicode_EncodeFSDefault]
1584
added = '3.2'
1585
[function.PyUnicode_InternFromString]
1586
added = '3.2'
1587
[function.PyUnicode_InternImmortal]
1588
added = '3.2'
1589
abi_only = true
1590
[function.PyUnicode_InternInPlace]
1591
added = '3.2'
1592
[data.PyUnicode_Type]
1593
added = '3.2'
1594
[function.PyWeakref_GetObject]
1595
added = '3.2'
1596
[function.PyWeakref_NewProxy]
1597
added = '3.2'
1598
[function.PyWeakref_NewRef]
1599
added = '3.2'
1600
[data.PyWrapperDescr_Type]
1601
added = '3.2'
1602
[function.PyWrapper_New]
1603
added = '3.2'
1604
[data.PyZip_Type]
1605
added = '3.2'
1606
[function.Py_AddPendingCall]
1607
added = '3.2'
1608
[function.Py_AtExit]
1609
added = '3.2'
1610
[function.Py_BuildValue]
1611
added = '3.2'
1612
[function.Py_CompileString]
1613
added = '3.2'
1614
[function.Py_DecRef]
1615
added = '3.2'
1616
[function.Py_EndInterpreter]
1617
added = '3.2'
1618
[function.Py_Exit]
1619
added = '3.2'
1620
[function.Py_FatalError]
1621
added = '3.2'
1622
[data.Py_FileSystemDefaultEncoding]
1623
added = '3.2'
1624
[function.Py_Finalize]
1625
added = '3.2'
1626
[function.Py_GetBuildInfo]
1627
added = '3.2'
1628
[function.Py_GetCompiler]
1629
added = '3.2'
1630
[function.Py_GetCopyright]
1631
added = '3.2'
1632
[function.Py_GetExecPrefix]
1633
added = '3.2'
1634
[function.Py_GetPath]
1635
added = '3.2'
1636
[function.Py_GetPlatform]
1637
added = '3.2'
1638
[function.Py_GetPrefix]
1639
added = '3.2'
1640
[function.Py_GetProgramFullPath]
1641
added = '3.2'
1642
[function.Py_GetProgramName]
1643
added = '3.2'
1644
[function.Py_GetPythonHome]
1645
added = '3.2'
1646
[function.Py_GetRecursionLimit]
1647
added = '3.2'
1648
[function.Py_GetVersion]
1649
added = '3.2'
1650
[data.Py_HasFileSystemDefaultEncoding]
1651
added = '3.2'
1652
[function.Py_IncRef]
1653
added = '3.2'
1654
[function.Py_Initialize]
1655
added = '3.2'
1656
[function.Py_InitializeEx]
1657
added = '3.2'
1658
[function.Py_IsInitialized]
1659
added = '3.2'
1660
[function.Py_Main]
1661
added = '3.2'
1662
[function.Py_MakePendingCalls]
1663
added = '3.2'
1664
[function.Py_NewInterpreter]
1665
added = '3.2'
1666
[function.Py_ReprEnter]
1667
added = '3.2'
1668
[function.Py_ReprLeave]
1669
added = '3.2'
1670
[function.Py_SetProgramName]
1671
added = '3.2'
1672
abi_only = true
1673
[function.Py_SetPythonHome]
1674
added = '3.2'
1675
abi_only = true
1676
[function.Py_SetRecursionLimit]
1677
added = '3.2'
1678
[function.Py_VaBuildValue]
1679
added = '3.2'
1680
1681
[function._PyErr_BadInternalCall]
1682
added = '3.2'
1683
abi_only = true
1684
[function._PyObject_CallFunction_SizeT]
1685
added = '3.2'
1686
abi_only = true
1687
[function._PyObject_CallMethod_SizeT]
1688
added = '3.2'
1689
abi_only = true
1690
[function._PyObject_GC_New]
1691
added = '3.2'
1692
abi_only = true
1693
[function._PyObject_GC_NewVar]
1694
added = '3.2'
1695
abi_only = true
1696
[function._PyObject_GC_Resize]
1697
added = '3.2'
1698
abi_only = true
1699
[function._PyObject_New]
1700
added = '3.2'
1701
abi_only = true
1702
[function._PyObject_NewVar]
1703
added = '3.2'
1704
abi_only = true
1705
[function._PyState_AddModule]
1706
added = '3.2'
1707
abi_only = true
1708
[function._PyThreadState_Init]
1709
added = '3.2'
1710
abi_only = true
1711
[function._PyThreadState_Prealloc]
1712
added = '3.2'
1713
abi_only = true
1714
[data._PyWeakref_CallableProxyType]
1715
added = '3.2'
1716
abi_only = true
1717
[data._PyWeakref_ProxyType]
1718
added = '3.2'
1719
abi_only = true
1720
[data._PyWeakref_RefType]
1721
added = '3.2'
1722
abi_only = true
1723
[function._Py_BuildValue_SizeT]
1724
added = '3.2'
1725
abi_only = true
1726
[function._Py_CheckRecursiveCall]
1727
added = '3.2'
1728
abi_only = true
1729
[function._Py_Dealloc]
1730
added = '3.2'
1731
abi_only = true
1732
[data._Py_EllipsisObject]
1733
added = '3.2'
1734
abi_only = true
1735
[data._Py_FalseStruct]
1736
added = '3.2'
1737
abi_only = true
1738
[data._Py_NoneStruct]
1739
added = '3.2'
1740
abi_only = true
1741
[data._Py_NotImplementedStruct]
1742
added = '3.2'
1743
abi_only = true
1744
[data._Py_SwappedOp]
1745
added = '3.2'
1746
abi_only = true
1747
[data._Py_TrueStruct]
1748
added = '3.2'
1749
abi_only = true
1750
[function._Py_VaBuildValue_SizeT]
1751
added = '3.2'
1752
abi_only = true
1753
1754
# Old buffer protocol support (deprecated)
1755
1756
[function.PyObject_AsCharBuffer]
1757
added = '3.2'
1758
abi_only = true
1759
[function.PyObject_AsReadBuffer]
1760
added = '3.2'
1761
abi_only = true
1762
[function.PyObject_AsWriteBuffer]
1763
added = '3.2'
1764
abi_only = true
1765
[function.PyObject_CheckReadBuffer]
1766
added = '3.2'
1767
abi_only = true
1768
1769
# Flags are implicitly part of the ABI:
1770
1771
[const.Py_TPFLAGS_DEFAULT]
1772
added = '3.2'
1773
[const.Py_TPFLAGS_BASETYPE]
1774
added = '3.2'
1775
[const.Py_TPFLAGS_HAVE_GC]
1776
added = '3.2'
1777
1778
[const.METH_VARARGS]
1779
added = '3.2'
1780
[const.METH_NOARGS]
1781
added = '3.2'
1782
[const.METH_O]
1783
added = '3.2'
1784
[const.METH_CLASS]
1785
added = '3.2'
1786
[const.METH_STATIC]
1787
added = '3.2'
1788
[const.METH_COEXIST]
1789
added = '3.2'
1790
# METH_STACKLESS is undocumented
1791
# METH_FASTCALL is not part of limited API.
1792
1793
# The following are defined in private headers, but historically
1794
# they were exported as part of the stable ABI.
1795
[function.PyMarshal_ReadObjectFromString]
1796
added = '3.2'
1797
abi_only = true
1798
[function.PyMarshal_WriteObjectToString]
1799
added = '3.2'
1800
abi_only = true
1801
[function.PyMember_GetOne]
1802
added = '3.2' # Before 3.12, available in "structmember.h"
1803
[function.PyMember_SetOne]
1804
added = '3.2' # Before 3.12, available in "structmember.h"
1805
1806
# TLS api is deprecated; superseded by TSS API
1807
1808
[function.PyThread_ReInitTLS]
1809
added = '3.2'
1810
[function.PyThread_create_key]
1811
added = '3.2'
1812
[function.PyThread_delete_key]
1813
added = '3.2'
1814
[function.PyThread_set_key_value]
1815
added = '3.2'
1816
[function.PyThread_get_key_value]
1817
added = '3.2'
1818
[function.PyThread_delete_key_value]
1819
added = '3.2'
1820
[function.PyThread_acquire_lock]
1821
added = '3.2'
1822
[function.PyThread_acquire_lock_timed]
1823
added = '3.2'
1824
[function.PyThread_allocate_lock]
1825
added = '3.2'
1826
[function.PyThread_exit_thread]
1827
added = '3.2'
1828
[function.PyThread_free_lock]
1829
added = '3.2'
1830
[function.PyThread_get_stacksize]
1831
added = '3.2'
1832
[function.PyThread_get_thread_ident]
1833
added = '3.2'
1834
[function.PyThread_get_thread_native_id]
1835
added = '3.2'
1836
ifdef = 'PY_HAVE_THREAD_NATIVE_ID'
1837
[function.PyThread_init_thread]
1838
added = '3.2'
1839
[function.PyThread_release_lock]
1840
added = '3.2'
1841
[function.PyThread_set_stacksize]
1842
added = '3.2'
1843
[function.PyThread_start_new_thread]
1844
added = '3.2'
1845
1846
# The following were added in PC/python3.def in Python 3.3:
1847
# 7800f75827b1be557be16f3b18f5170fbf9fae08
1848
# 9c56409d3353b8cd4cfc19e0467bbe23fd34fc92
1849
# 75aeaa9b18667219bbacbc58ba6efecccef9dfbd
1850
1851
[function.PyState_AddModule]
1852
added = '3.3'
1853
[function.PyState_RemoveModule]
1854
added = '3.3'
1855
[function.PyType_FromSpecWithBases]
1856
added = '3.3'
1857
[function._PyArg_Parse_SizeT]
1858
added = '3.3'
1859
abi_only = true
1860
[function._PyArg_ParseTuple_SizeT]
1861
added = '3.3'
1862
abi_only = true
1863
[function._PyArg_ParseTupleAndKeywords_SizeT]
1864
added = '3.3'
1865
abi_only = true
1866
[function._PyArg_VaParse_SizeT]
1867
added = '3.3'
1868
abi_only = true
1869
[function._PyArg_VaParseTupleAndKeywords_SizeT]
1870
added = '3.3'
1871
abi_only = true
1872
[function.PyThread_GetInfo]
1873
added = '3.3'
1874
1875
# The following were added in PC/python3.def in Python 3.4:
1876
# 3ba3a3ee56c142e93d6bbe20ff6bf939212a30f0
1877
1878
[function.PyCFunction_New]
1879
added = '3.4'
1880
[function.PyType_GetSlot]
1881
added = '3.4'
1882
1883
# The following were added in PC/python3.def in Python 3.5:
1884
# 11d7b1423fc44d764eba7065ea5eba58ed748b21
1885
# f3b73ad51da3097d7915796fdc62608b1ab90c0a
1886
1887
[function.PyErr_FormatV]
1888
added = '3.5'
1889
[function.PyModuleDef_Init]
1890
added = '3.5'
1891
[data.PyModuleDef_Type]
1892
added = '3.5'
1893
1894
# New slots in 3.5:
1895
# d51374ed78a3e3145911a16cdf3b9b84b3ba7d15 - Matrix multiplication (PEP 465)
1896
# 7544508f0245173bff5866aa1598c8f6cce1fc5f - Async iterators (PEP 492)
1897
# 0969a9f8abcf98bb43ea77b1dd050426adcfb4f7 - tp_finalize
1898
1899
[const.Py_nb_matrix_multiply]
1900
added = '3.5'
1901
[const.Py_nb_inplace_matrix_multiply]
1902
added = '3.5'
1903
[const.Py_am_await]
1904
added = '3.5'
1905
[const.Py_am_aiter]
1906
added = '3.5'
1907
[const.Py_am_anext]
1908
added = '3.5'
1909
[const.Py_tp_finalize]
1910
added = '3.5'
1911
1912
# The following were added in PC/python3.def in Python 3.6:
1913
1914
[function.Py_FinalizeEx]
1915
added = '3.6'
1916
1917
[function.PyOS_FSPath]
1918
added = '3.6'
1919
[function.PyErr_ResourceWarning]
1920
added = '3.6'
1921
[function.PyErr_SetImportErrorSubclass]
1922
added = '3.6'
1923
[data.PyExc_ModuleNotFoundError]
1924
added = '3.6'
1925
1926
# The following were added in PC/python3.def in Python 3.6.1 and 3.5.3/3.5.4:
1927
1928
[function.PyCodec_NameReplaceErrors]
1929
added = '3.7' # (and 3.6.1 and 3.5.3)
1930
[function.PyErr_GetExcInfo]
1931
added = '3.7' # (and 3.6.1 and 3.5.3)
1932
[function.PyErr_SetExcInfo]
1933
added = '3.7' # (and 3.6.1 and 3.5.3)
1934
[function.PyErr_SetFromErrnoWithFilenameObjects]
1935
added = '3.7' # (and 3.6.1 and 3.5.3)
1936
[function.PyErr_SetImportError]
1937
added = '3.7' # (and 3.6.1 and 3.5.3)
1938
[function.PyErr_SyntaxLocationEx]
1939
added = '3.7' # (and 3.6.1 and 3.5.3)
1940
[data.PyExc_BlockingIOError]
1941
added = '3.7' # (and 3.6.1 and 3.5.3)
1942
[data.PyExc_BrokenPipeError]
1943
added = '3.7' # (and 3.6.1 and 3.5.3)
1944
[data.PyExc_ChildProcessError]
1945
added = '3.7' # (and 3.6.1 and 3.5.3)
1946
[data.PyExc_ConnectionAbortedError]
1947
added = '3.7' # (and 3.6.1 and 3.5.3)
1948
[data.PyExc_ConnectionError]
1949
added = '3.7' # (and 3.6.1 and 3.5.3)
1950
[data.PyExc_ConnectionRefusedError]
1951
added = '3.7' # (and 3.6.1 and 3.5.3)
1952
[data.PyExc_ConnectionResetError]
1953
added = '3.7' # (and 3.6.1 and 3.5.3)
1954
[data.PyExc_FileExistsError]
1955
added = '3.7' # (and 3.6.1 and 3.5.3)
1956
[data.PyExc_FileNotFoundError]
1957
added = '3.7' # (and 3.6.1 and 3.5.3)
1958
[data.PyExc_InterruptedError]
1959
added = '3.7' # (and 3.6.1 and 3.5.3)
1960
[data.PyExc_IsADirectoryError]
1961
added = '3.7' # (and 3.6.1 and 3.5.3)
1962
[data.PyExc_NotADirectoryError]
1963
added = '3.7' # (and 3.6.1 and 3.5.3)
1964
[data.PyExc_PermissionError]
1965
added = '3.7' # (and 3.6.1 and 3.5.3)
1966
[data.PyExc_ProcessLookupError]
1967
added = '3.7' # (and 3.6.1 and 3.5.3)
1968
[data.PyExc_RecursionError]
1969
added = '3.7' # (and 3.6.1 and 3.5.3)
1970
[data.PyExc_ResourceWarning]
1971
added = '3.7' # (and 3.6.1 and 3.5.3)
1972
[data.PyExc_StopAsyncIteration]
1973
added = '3.7' # (and 3.6.1 and 3.5.3)
1974
[data.PyExc_TimeoutError]
1975
added = '3.7' # (and 3.6.1 and 3.5.3)
1976
[function.PyImport_AddModuleObject]
1977
added = '3.7' # (and 3.6.1 and 3.5.3)
1978
[function.PyImport_ExecCodeModuleObject]
1979
added = '3.7' # (and 3.6.1 and 3.5.3)
1980
[function.PyImport_ImportFrozenModuleObject]
1981
added = '3.7' # (and 3.6.1 and 3.5.3)
1982
[function.PyImport_ImportModuleLevelObject]
1983
added = '3.7' # (and 3.6.1 and 3.5.3)
1984
[function.PyMem_Calloc]
1985
added = '3.7' # (and 3.6.1 and 3.5.3)
1986
[function.PyMemoryView_FromMemory]
1987
added = '3.7' # (and 3.6.1 and 3.5.3)
1988
[function.PyModule_AddFunctions]
1989
added = '3.7' # (and 3.6.1 and 3.5.3)
1990
[function.PyModule_ExecDef]
1991
added = '3.7' # (and 3.6.1 and 3.5.3)
1992
[function.PyModule_FromDefAndSpec2]
1993
added = '3.7' # (and 3.6.1 and 3.5.3)
1994
[function.PyModule_GetNameObject]
1995
added = '3.7' # (and 3.6.1 and 3.5.3)
1996
[function.PyModule_NewObject]
1997
added = '3.7' # (and 3.6.1 and 3.5.3)
1998
[function.PyModule_SetDocString]
1999
added = '3.7' # (and 3.6.1 and 3.5.3)
2000
[function.PyNumber_InPlaceMatrixMultiply]
2001
added = '3.7' # (and 3.6.1 and 3.5.3)
2002
[function.PyNumber_MatrixMultiply]
2003
added = '3.7' # (and 3.6.1 and 3.5.3)
2004
[function.PyObject_Calloc]
2005
added = '3.7' # (and 3.6.1 and 3.5.3)
2006
[function.PyObject_GenericSetDict]
2007
added = '3.7' # (and 3.6.1 and 3.5.3)
2008
[function.PySys_AddXOption]
2009
added = '3.7' # (and 3.6.1 and 3.5.3)
2010
abi_only = true
2011
[function.PySys_GetXOptions]
2012
added = '3.7' # (and 3.6.1 and 3.5.3)
2013
[function.PyUnicode_AsUCS4]
2014
added = '3.7' # (and 3.6.1 and 3.5.3)
2015
[function.PyUnicode_AsUCS4Copy]
2016
added = '3.7' # (and 3.6.1 and 3.5.3)
2017
[function.PyUnicode_AsWideCharString]
2018
added = '3.7' # (and 3.6.1 and 3.5.3)
2019
[function.PyUnicode_DecodeLocale]
2020
added = '3.7' # (and 3.6.1 and 3.5.3)
2021
[function.PyUnicode_DecodeLocaleAndSize]
2022
added = '3.7' # (and 3.6.1 and 3.5.3)
2023
[function.PyUnicode_EncodeLocale]
2024
added = '3.7' # (and 3.6.1 and 3.5.3)
2025
[function.PyUnicode_FindChar]
2026
added = '3.7' # (and 3.6.1 and 3.5.3)
2027
[function.PyUnicode_GetLength]
2028
added = '3.7' # (and 3.6.1 and 3.5.3)
2029
[function.PyUnicode_ReadChar]
2030
added = '3.7' # (and 3.6.1 and 3.5.3)
2031
[function.PyUnicode_Substring]
2032
added = '3.7' # (and 3.6.1 and 3.5.3)
2033
[function.PyUnicode_WriteChar]
2034
added = '3.7' # (and 3.6.1 and 3.5.3)
2035
[function.Py_DecodeLocale]
2036
added = '3.7' # (and 3.6.1 and 3.5.3)
2037
[function.Py_EncodeLocale]
2038
added = '3.7' # (and 3.6.1 and 3.5.3)
2039
[function.Py_SetPath]
2040
added = '3.7' # (and 3.6.1 and 3.5.3)
2041
abi_only = true
2042
[function.PyErr_SetExcFromWindowsErr]
2043
added = '3.7' # (and 3.6.1 and 3.5.3)
2044
ifdef = 'MS_WINDOWS'
2045
[function.PyErr_SetExcFromWindowsErrWithFilename]
2046
added = '3.7' # (and 3.6.1 and 3.5.3)
2047
ifdef = 'MS_WINDOWS'
2048
[function.PyErr_SetExcFromWindowsErrWithFilenameObject]
2049
added = '3.7' # (and 3.6.1 and 3.5.3)
2050
ifdef = 'MS_WINDOWS'
2051
[function.PyErr_SetExcFromWindowsErrWithFilenameObjects]
2052
added = '3.7' # (and 3.6.1 and 3.5.3)
2053
ifdef = 'MS_WINDOWS'
2054
[function.PyErr_SetFromWindowsErr]
2055
added = '3.7' # (and 3.6.1 and 3.5.3)
2056
ifdef = 'MS_WINDOWS'
2057
[function.PyErr_SetFromWindowsErrWithFilename]
2058
added = '3.7' # (and 3.6.1 and 3.5.3)
2059
ifdef = 'MS_WINDOWS'
2060
[data.PyExc_WindowsError]
2061
added = '3.7' # (and 3.6.1 and 3.5.3)
2062
ifdef = 'MS_WINDOWS'
2063
[function.PyOS_CheckStack]
2064
added = '3.7' # (and 3.6.1 and 3.5.3)
2065
ifdef = 'USE_STACKCHECK'
2066
[function.PyUnicode_AsMBCSString]
2067
added = '3.7' # (and 3.6.1 and 3.5.3)
2068
ifdef = 'MS_WINDOWS'
2069
[function.PyUnicode_DecodeCodePageStateful]
2070
added = '3.7' # (and 3.6.1 and 3.5.3)
2071
ifdef = 'MS_WINDOWS'
2072
[function.PyUnicode_DecodeMBCS]
2073
added = '3.7' # (and 3.6.1 and 3.5.3)
2074
ifdef = 'MS_WINDOWS'
2075
[function.PyUnicode_DecodeMBCSStateful]
2076
added = '3.7' # (and 3.6.1 and 3.5.3)
2077
ifdef = 'MS_WINDOWS'
2078
[function.PyUnicode_EncodeCodePage]
2079
added = '3.7' # (and 3.6.1 and 3.5.3)
2080
ifdef = 'MS_WINDOWS'
2081
2082
# 3.5.4:
2083
[function.PySlice_AdjustIndices]
2084
added = '3.7' # (and 3.6.1 and 3.5.4)
2085
[function.PySlice_Unpack]
2086
added = '3.7' # (and 3.6.1 and 3.5.4)
2087
2088
# The following were added in PC/python3.def in Python 3.7:
2089
2090
[function.PyInterpreterState_GetID]
2091
added = '3.7'
2092
[function.PyThread_tss_alloc]
2093
added = '3.7'
2094
[function.PyThread_tss_create]
2095
added = '3.7'
2096
[function.PyThread_tss_delete]
2097
added = '3.7'
2098
[function.PyThread_tss_free]
2099
added = '3.7'
2100
[function.PyThread_tss_get]
2101
added = '3.7'
2102
[function.PyThread_tss_is_created]
2103
added = '3.7'
2104
[function.PyThread_tss_set]
2105
added = '3.7'
2106
[function.PyOS_BeforeFork]
2107
added = '3.7'
2108
ifdef = 'HAVE_FORK'
2109
[function.PyOS_AfterFork_Parent]
2110
added = '3.7'
2111
ifdef = 'HAVE_FORK'
2112
[function.PyOS_AfterFork_Child]
2113
added = '3.7'
2114
ifdef = 'HAVE_FORK'
2115
2116
# New method flags in 3.7 (PEP 590):
2117
2118
[const.METH_FASTCALL]
2119
added = '3.7'
2120
[const.METH_METHOD]
2121
added = '3.7'
2122
2123
# The following were added in PC/python3.def in Python 3.8:
2124
2125
[function.PyImport_GetModule]
2126
added = '3.8'
2127
[data.Py_UTF8Mode]
2128
added = '3.8'
2129
[function.PyExceptionClass_Name]
2130
added = '3.8'
2131
[function.PyIndex_Check]
2132
added = '3.8'
2133
[function.PyIter_Check]
2134
added = '3.8'
2135
[data.PyDictRevIterItem_Type]
2136
added = '3.8'
2137
[data.PyDictRevIterKey_Type]
2138
added = '3.8'
2139
[data.PyDictRevIterValue_Type]
2140
added = '3.8'
2141
[function.PyInterpreterState_GetDict]
2142
added = '3.8'
2143
[function.Py_BytesMain]
2144
added = '3.8'
2145
2146
# New type flag (PEP 590):
2147
2148
[const.Py_TPFLAGS_METHOD_DESCRIPTOR]
2149
added = '3.8'
2150
2151
# The following were added in PC/python3.def in Python 3.9:
2152
2153
[function.Py_EnterRecursiveCall]
2154
added = '3.9'
2155
[function.Py_LeaveRecursiveCall]
2156
added = '3.9'
2157
[function.Py_GenericAlias]
2158
added = '3.9'
2159
[data.Py_GenericAliasType]
2160
added = '3.9'
2161
[function.PyCMethod_New]
2162
added = '3.9'
2163
[function.PyInterpreterState_Get]
2164
added = '3.9'
2165
[function.PyObject_GC_IsFinalized]
2166
added = '3.9'
2167
[function.PyObject_GC_IsTracked]
2168
added = '3.9'
2169
2170
# The following were added in PC/python3.def in Python 3.10:
2171
2172
[function.Py_GetArgcArgv]
2173
added = '3.10'
2174
abi_only = true
2175
[function.PyIter_Send]
2176
added = '3.10'
2177
[function.PyUnicode_AsUTF8AndSize]
2178
added = '3.10'
2179
[function.PyObject_GenericGetDict]
2180
added = '3.10'
2181
[function.Py_NewRef]
2182
added = '3.10'
2183
[function.Py_XNewRef]
2184
added = '3.10'
2185
[function.PyModule_AddType]
2186
added = '3.10'
2187
[function.PyType_FromModuleAndSpec]
2188
added = '3.10'
2189
[function.PyType_GetModule]
2190
added = '3.10'
2191
[function.PyType_GetModuleState]
2192
added = '3.10'
2193
[function.PyFrame_GetLineNumber]
2194
added = '3.10'
2195
[function.PyFrame_GetCode]
2196
added = '3.10'
2197
[function.PyObject_CallNoArgs]
2198
added = '3.10'
2199
[function.PyThreadState_GetFrame]
2200
added = '3.10'
2201
[function.PyThreadState_GetID]
2202
added = '3.10'
2203
[function.PyThreadState_GetInterpreter]
2204
added = '3.10'
2205
[function.PyModule_AddObjectRef]
2206
added = '3.10'
2207
[data.Py_FileSystemDefaultEncodeErrors]
2208
added = '3.10'
2209
[function.PyCodec_Unregister]
2210
added = '3.10'
2211
[function.PyErr_SetInterruptEx]
2212
added = '3.10'
2213
[function.Py_Is]
2214
added = '3.10'
2215
[function.Py_IsTrue]
2216
added = '3.10'
2217
[function.Py_IsFalse]
2218
added = '3.10'
2219
[function.Py_IsNone]
2220
added = '3.10'
2221
[function._Py_IncRef]
2222
added = '3.10'
2223
abi_only = true
2224
[function._Py_DecRef]
2225
added = '3.10'
2226
abi_only = true
2227
[function.PyAIter_Check]
2228
added = '3.10'
2229
[function.PyObject_GetAIter]
2230
added = '3.10'
2231
[data.PyExc_EncodingWarning]
2232
added = '3.10'
2233
2234
# Support for Stable ABI in debug builds
2235
2236
[data._Py_RefTotal]
2237
added = '3.10'
2238
ifdef = 'Py_REF_DEBUG'
2239
abi_only = true
2240
[function._Py_NegativeRefcount]
2241
added = '3.10'
2242
ifdef = 'Py_REF_DEBUG'
2243
abi_only = true
2244
2245
# New slots in 3.10:
2246
2247
[const.Py_am_send]
2248
added = '3.10'
2249
2250
2251
# New GC control functions in Py3.10 (https://bugs.python.org/issue28254)
2252
2253
[function.PyGC_Disable]
2254
added = '3.10'
2255
[function.PyGC_Enable]
2256
added = '3.10'
2257
[function.PyGC_IsEnabled]
2258
added = '3.10'
2259
2260
# Add new C API in Python 3.11
2261
2262
[function.PyType_GetName]
2263
added = '3.11'
2264
[function.PyType_GetQualName]
2265
added = '3.11'
2266
[data.PyStructSequence_UnnamedField]
2267
added = '3.11'
2268
2269
# Add stable Py_buffer API in Python 3.11 (https://bugs.python.org/issue45459)
2270
[struct.Py_buffer]
2271
added = '3.11'
2272
struct_abi_kind = 'full-abi'
2273
[function.PyObject_CheckBuffer]
2274
added = '3.11'
2275
[function.PyObject_GetBuffer]
2276
added = '3.11'
2277
[function.PyBuffer_GetPointer]
2278
added = '3.11'
2279
[function.PyBuffer_SizeFromFormat]
2280
added = '3.11'
2281
[function.PyBuffer_ToContiguous]
2282
added = '3.11'
2283
[function.PyBuffer_FromContiguous]
2284
added = '3.11'
2285
[function.PyObject_CopyData]
2286
added = '3.11'
2287
[function.PyBuffer_IsContiguous]
2288
added = '3.11'
2289
[function.PyBuffer_FillContiguousStrides]
2290
added = '3.11'
2291
[function.PyBuffer_FillInfo]
2292
added = '3.11'
2293
[function.PyBuffer_Release]
2294
added = '3.11'
2295
[function.PyMemoryView_FromBuffer]
2296
added = '3.11'
2297
2298
# Constants for Py_buffer API added to this list in Python 3.11.1 (https://github.com/python/cpython/issues/98680)
2299
# (they were available with 3.11.0)
2300
[const.PyBUF_MAX_NDIM]
2301
added = '3.11'
2302
[const.PyBUF_SIMPLE]
2303
added = '3.11'
2304
[const.PyBUF_WRITABLE]
2305
added = '3.11'
2306
[const.PyBUF_FORMAT]
2307
added = '3.11'
2308
[const.PyBUF_ND]
2309
added = '3.11'
2310
[const.PyBUF_STRIDES]
2311
added = '3.11'
2312
[const.PyBUF_C_CONTIGUOUS]
2313
added = '3.11'
2314
[const.PyBUF_F_CONTIGUOUS]
2315
added = '3.11'
2316
[const.PyBUF_ANY_CONTIGUOUS]
2317
added = '3.11'
2318
[const.PyBUF_INDIRECT]
2319
added = '3.11'
2320
[const.PyBUF_CONTIG]
2321
added = '3.11'
2322
[const.PyBUF_CONTIG_RO]
2323
added = '3.11'
2324
[const.PyBUF_STRIDED]
2325
added = '3.11'
2326
[const.PyBUF_STRIDED_RO]
2327
added = '3.11'
2328
[const.PyBUF_RECORDS]
2329
added = '3.11'
2330
[const.PyBUF_RECORDS_RO]
2331
added = '3.11'
2332
[const.PyBUF_FULL]
2333
added = '3.11'
2334
[const.PyBUF_FULL_RO]
2335
added = '3.11'
2336
[const.PyBUF_READ]
2337
added = '3.11'
2338
[const.PyBUF_WRITE]
2339
added = '3.11'
2340
2341
2342
# (Detailed comments aren't really needed for further entries: from here on
2343
# we can use version control logs.)
2344
2345
[data.Py_Version]
2346
added = '3.11'
2347
[function.PyErr_GetHandledException]
2348
added = '3.11'
2349
[function.PyErr_SetHandledException]
2350
added = '3.11'
2351
2352
[function.PyType_FromMetaclass]
2353
added = '3.12'
2354
[const.Py_TPFLAGS_HAVE_VECTORCALL]
2355
added = '3.12'
2356
[function.PyVectorcall_NARGS]
2357
added = '3.12'
2358
[function.PyVectorcall_Call]
2359
added = '3.12'
2360
[function.PyErr_GetRaisedException]
2361
added = '3.12'
2362
[function.PyErr_SetRaisedException]
2363
added = '3.12'
2364
[function.PyException_GetArgs]
2365
added = '3.12'
2366
[function.PyException_SetArgs]
2367
added = '3.12'
2368
2369
[typedef.vectorcallfunc]
2370
added = '3.12'
2371
[function.PyObject_Vectorcall]
2372
added = '3.12'
2373
[function.PyObject_VectorcallMethod]
2374
added = '3.12'
2375
[macro.PY_VECTORCALL_ARGUMENTS_OFFSET]
2376
added = '3.12'
2377
[typedef.getbufferproc]
2378
added = '3.12'
2379
[typedef.releasebufferproc]
2380
added = '3.12'
2381
2382
[const.Py_T_BYTE]
2383
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2384
[const.Py_T_SHORT]
2385
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2386
[const.Py_T_INT]
2387
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2388
[const.Py_T_LONG]
2389
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2390
[const.Py_T_LONGLONG]
2391
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2392
[const.Py_T_UBYTE]
2393
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2394
[const.Py_T_UINT]
2395
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2396
[const.Py_T_USHORT]
2397
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2398
[const.Py_T_ULONG]
2399
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2400
[const.Py_T_ULONGLONG]
2401
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2402
[const.Py_T_PYSSIZET]
2403
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2404
[const.Py_T_FLOAT]
2405
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2406
[const.Py_T_DOUBLE]
2407
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2408
[const.Py_T_BOOL]
2409
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2410
[const.Py_T_STRING]
2411
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2412
[const.Py_T_STRING_INPLACE]
2413
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2414
[const.Py_T_CHAR]
2415
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2416
[const.Py_T_OBJECT_EX]
2417
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2418
[const.Py_READONLY]
2419
added = '3.12' # Before 3.12, available in "structmember.h" w/o Py_ prefix
2420
[const.Py_AUDIT_READ]
2421
added = '3.12' # Before 3.12, available in "structmember.h"
2422
2423
[function.PyObject_GetTypeData]
2424
added = '3.12'
2425
[function.PyType_GetTypeDataSize]
2426
added = '3.12'
2427
[const.Py_RELATIVE_OFFSET]
2428
added = '3.12'
2429
[const.Py_TPFLAGS_ITEMS_AT_END]
2430
added = '3.12'
2431
[function.PyImport_AddModuleRef]
2432
added = '3.13'
2433
[function.PyWeakref_GetRef]
2434
added = '3.13'
2435
2436