Victor Stinner
579b2f8910
gh-140550: Run make regen-limited-abi ( #141056 )
2025-11-05 16:57:06 +00:00
Petr Viktorin
589a03a8ce
gh-140550: Initial implementation of PEP 793 – PyModExport (GH-140556)
...
Co-authored-by: Victor Stinner <vstinner@python.org >
Co-authored-by: Kumar Aditya <kumaraditya@python.org >
2025-11-05 12:31:42 +01:00
Petr Viktorin
d81e1ef0f3
gh-138189: Document type slots, and other constants, as part of Limited API (GH-138190)
...
Co-authored-by: Peter Bierma <zintensitydev@gmail.com >
2025-11-04 22:58:53 +01:00
Petr Viktorin
80cdf3ef74
Document that PyInterpreterState_GetDict returns a borrowed reference ( #139451 )
2025-10-01 09:46:06 +05:30
Bénédikt Tran
a5e0562350
gh-133644: remove PyWeakref_GetObject and PyWeakref_GET_OBJECT (GH-133657)
2025-09-24 11:25:56 +02:00
sobolevn
baf7470515
gh-138886: Remove deprecated PySys_ResetWarnOptions C-API function ( #138887 )
2025-09-15 12:01:33 +03:00
Petr Viktorin
0c74fc8af0
gh-137210: Add a struct, slot & function for checking an extension's ABI (GH-137212)
...
Co-authored-by: Steve Dower <steve.dower@microsoft.com >
2025-09-05 16:23:18 +02:00
Peter Bierma
ca87a47b3d
gh-135755: Docs: C API: Document missing PyFunction_GET* macros (GH-135762)
...
Co-authored-by: Brian Schubert <brianm.schubert@gmail.com >
Co-authored-by: Petr Viktorin <encukou@gmail.com >
2025-06-25 08:44:55 +00:00
Petr Viktorin
140731ff67
Document that PyType_GetModuleByDef returns a borrowed reference (GH-135666)
2025-06-19 09:00:41 +02:00
Petr Viktorin
f4bc3a9320
gh-134160: Split extension module init from PyModule docs; emphasize multi-phase init (GH-135126)
...
Document behaviour of single-phase init. Call it "legacy".
Reorganize PyModule docs.
Move PyInit_modulename docs from the tutorial to reference documentation.
Move PyMODINIT_FUNC docs from generic macros to the new page.
Add doc stubs for `PYTHON_API_VERSION` & `PYTHON_ABI_VERSION`
Remove incorrect refcounts.dat entry for `PyModuleDef_Init`.
This removes the "Return value: Borrowed reference." note.
Instead, note that the function sometimes returns a borrowed reference,
sometimes as strong one.
(IMO, it's best to not think of `PyModuleDef` as a `PyObject` at all,
and act like it can't be reference-counted.)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com >
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com >
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com >
2025-06-13 16:39:35 +02:00
Serhiy Storchaka
bac3fcba5b
gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035)
...
Add functions PySys_GetAttr(), PySys_GetAttrString(),
PySys_GetOptionalAttr() and PySys_GetOptionalAttrString().
2025-05-28 20:11:09 +03:00
Stan Ulbrych
4fd1095280
gh-133610: Remove PyUnicode_AsDecoded/Encoded functions ( #133612 )
2025-05-09 17:31:24 +02:00
Stan Ulbrych
f34ec09ba5
gh-46236: Document PyUnicode_BuildEncodingMap ( #133270 )
2025-05-09 17:19:07 +02:00
Bénédikt Tran
5044e85265
gh-133644: Remove deprecated Python initialization getter functions ( #133661 )
...
Remove functions:
* Py_GetExecPrefix()
* Py_GetPath()
* Py_GetPrefix()
* Py_GetProgramFullPath()
* Py_GetProgramName()
* Py_GetPythonHome()
2025-05-09 11:39:23 +00:00
Bénédikt Tran
a2c4467d06
gh-133644: remove deprecated PyImport_ImportModuleNoBlock ( #133655 )
2025-05-08 13:08:43 +00:00
RUANG (James Roy)
05d0559db0
gh-46236: Add PyUnicode_Resize() doc ( #132628 )
...
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com >
2025-04-22 11:39:04 +02:00
Steve Dower
09b624b80f
gh-132639: Adds PyLong_AsNativeBytes, PyLong_FromNativeBytes and PyLong_FromUnsignedNativeBytes to the limited API (GH-132640)
2025-04-21 15:59:03 +01:00
RUANG (James Roy)
8768df2fe9
gh-46236: Add missing PyUnicode_FromOrdinal() doc ( #132040 )
2025-04-14 18:40:39 +02:00
Victor Stinner
10cbd1fe88
gh-130947: Add again PySequence_Fast() to the limited C API ( #130948 )
...
Add again PySequence_Fast() to the limited C API.
Add unit tests.
2025-03-13 13:00:57 +01:00
RUANG (James Roy)
faadb446d9
gh-46236: Add missing PyUnicode_Append() doc ( #130531 )
...
* Add missing PyUnicode_Append() doc
* Change the copied content
* Add '`` ``'
* Change doc
* Add PyUnicode_AppendAndDel function doc
* Change doc
* Add PyUnicode_AppendAndDel to refcounts
* Change doc
* Change doc
Co-authored-by: Petr Viktorin <encukou@gmail.com >
* Change doc
---------
Co-authored-by: Petr Viktorin <encukou@gmail.com >
2025-03-11 10:28:17 +01:00
RUANG (James Roy)
9f25c1f012
gh-46236: Add docs for PyUnicode_GetDefaultEncoding() doc (GH-130335)
...
* Clarify sys.getdefaultencoding() documentation
* Add missing documentation for PyUnicode_GetDefaultEncoding,
the C equivalent of sys.getdefaultencoding
2025-02-24 15:37:21 +01:00
Marc Mueller
0f5b82169e
gh-46236: Document PyUnicode_RSplit, PyUnicode_Partition and PyUnicode_RPartition ( #130191 )
...
Co-authored-by: Petr Viktorin <encukou@gmail.com >
2025-02-20 16:41:41 +01:00
Yuki Kobayashi
8d9d3e4ecb
gh-46236: Document PyUnicode_DecodeCodePageStateful (GH-127934)
...
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com >
Co-authored-by: Peter Bierma <zintensitydev@gmail.com >
2025-02-10 17:17:37 +01:00
Victor Stinner
2ad069d906
gh-91417: Remove PySequence_Fast() from the limited C API ( #129398 )
...
The function never worked with the limited C API. It was added by
mistake.
2025-02-02 23:17:30 +01:00
Victor Stinner
3bebe46d34
gh-128911: Add PyImport_ImportModuleAttr() function ( #128912 )
...
Add PyImport_ImportModuleAttr() and
PyImport_ImportModuleAttrString() functions.
* Add unit tests.
* Replace _PyImport_GetModuleAttr()
with PyImport_ImportModuleAttr().
* Replace _PyImport_GetModuleAttrString()
with PyImport_ImportModuleAttrString().
* Remove "pycore_import.h" includes, no longer needed.
2025-01-30 11:17:29 +00:00
Petr Viktorin
1439b81928
gh-128629: Add Py_PACK_VERSION and Py_PACK_FULL_VERSION (GH-128630)
2025-01-09 11:10:28 +01:00
Victor Stinner
6446408d42
gh-102471, PEP 757: Add PyLong import and export API ( #121339 )
...
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com >
Co-authored-by: Steve Dower <steve.dower@microsoft.com >
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com >
2024-12-13 14:24:48 +01:00
Miro Hrončok
58942a07df
Document PyObject_SelfIter ( #127861 )
2024-12-13 14:56:22 +05:30
Bénédikt Tran
1f8267b85d
gh-127443: Fix some entries in Doc/data/refcounts.dat ( #127451 )
...
Fix incorrect entries in `Doc/data/refcounts.dat`
2024-12-02 10:21:00 +02:00
RUANG (James Roy)
1e3497e745
gh-126061: add new functions to refcounts.dat ( #126788 )
2024-11-14 15:04:38 +01:00
Victor Stinner
db96327203
gh-121654: Add PyType_Freeze() function ( #122457 )
...
Co-authored-by: Petr Viktorin <encukou@gmail.com >
2024-10-25 11:12:48 +02:00
Victor Stinner
a7f0727ca5
gh-124502: Add PyUnicode_Equal() function ( #124504 )
2024-10-07 21:24:53 +00:00
Victor Stinner
9d344fafc4
gh-124127: Make Py_REFCNT() opaque in limited C API 3.14 ( #124128 )
2024-09-24 08:42:58 +02:00
neonene
646f16bdee
gh-124153: Implement PyType_GetBaseByToken() and Py_tp_token slot (GH-124163)
2024-09-18 09:18:19 +02:00
Victor Stinner
4c6dca8292
gh-120389: Add PyLong_FromInt64() and PyLong_AsInt64() ( #120390 )
...
Add new functions to convert C <stdint.h> numbers from/to Python int:
* PyLong_FromInt32()
* PyLong_FromUInt32()
* PyLong_FromInt64()
* PyLong_FromUInt64()
* PyLong_AsInt32()
* PyLong_AsUInt32()
* PyLong_AsInt64()
* PyLong_AsUInt64()
2024-08-28 10:16:13 +00:00
Erlend E. Aasland
e006c7371d
gh-105201: Add PyIter_NextItem() ( #122331 )
...
Return -1 and set an exception on error; return 0 if the iterator is
exhausted, and return 1 if the next item was fetched successfully.
Prefer this API to PyIter_Next(), which requires the caller to use
PyErr_Occurred() to differentiate between iterator exhaustion and errors.
Co-authered-by: Irit Katriel <iritkatriel@yahoo.com >
2024-08-08 00:47:15 +02:00
Bénédikt Tran
88030861e2
gh-122555: Remove removed functions from Doc/data/refcounts.dat ( #122556 )
2024-08-01 12:26:09 +02:00
Adam Turner
22c9d9c1fc
GH-121970: Rewrite the C-API annotations extension ( #121985 )
...
Co-authored-by: Petr Viktorin <encukou@gmail.com >
2024-07-19 12:21:56 +00:00
Pablo Galindo Salgado
ac61d58db0
gh-119521: Rename IncompleteInputError to _IncompleteInputError and remove from public API/ABI (GH-119680)
...
Signed-off-by: Pablo Galindo <pablogsal@gmail.com >
Co-authored-by: Petr Viktorin <encukou@gmail.com >
2024-06-24 14:08:12 +02:00
Victor Stinner
16f8e22e7c
gh-120600: Make Py_TYPE() opaque in limited C API 3.14 ( #120601 )
...
In the limited C API 3.14 and newer, Py_TYPE() is now implemented as
an opaque function call to hide implementation details.
2024-06-18 14:28:48 +00:00
Alyssa Coghlan
3859e09e3d
gh-74929: PEP 667 C API documentation (gh-119379)
...
* Add docs for new APIs
* Add soft-deprecation notices
* Add What's New porting entries
* Update comments referencing `PyFrame_LocalsToFast()` to mention the proxy instead
* Other related cleanups found when looking for refs to the deprecated APIs
2024-06-01 13:59:35 +10:00
Tian Gao
b034f14a4b
gh-74929: Implement PEP 667 (GH-115153)
2024-05-04 12:12:10 +01:00
Victor Stinner
340a02b590
gh-117987: Restore several functions removed in Python 3.13 alpha 1 (GH-117993)
...
Restore these functions removed in Python 3.13 alpha 1:
* Py_SetPythonHome()
* Py_SetProgramName()
* PySys_SetArgvEx()
* PySys_SetArgv()
2024-04-18 15:20:38 +02:00
Victor Stinner
75eed5b373
gh-117929: Restore removed PyEval_InitThreads() function ( #117931 )
2024-04-17 15:01:28 +02:00
Victor Stinner
507896d97d
gh-116936: Add PyType_GetModuleByDef() to the limited C API ( #116937 )
2024-03-25 16:32:20 +00:00
Victor Stinner
8bea6c411d
gh-115754: Add Py_GetConstant() function ( #116883 )
...
Add Py_GetConstant() and Py_GetConstantBorrowed() functions.
In the limited C API version 3.13, getting Py_None, Py_False,
Py_True, Py_Ellipsis and Py_NotImplemented singletons is now
implemented as function calls at the stable ABI level to hide
implementation details. Getting these constants still return borrowed
references.
Add _testlimitedcapi/object.c and test_capi/test_object.py to test
Py_GetConstant() and Py_GetConstantBorrowed() functions.
2024-03-21 16:07:00 +00:00
Victor Stinner
c432df6d56
gh-111696, PEP 737: Add PyType_GetModuleName() function ( #116824 )
...
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com >
2024-03-14 18:17:43 +00:00
Victor Stinner
19c3a2ff91
gh-111696, PEP 737: Add PyType_GetFullyQualifiedName() function ( #116815 )
...
Rewrite tests on type names in Python, they were written in C.
2024-03-14 16:19:36 +00:00
David Hewitt
9e3729bbd7
gh-114626: add PyCFunctionFast and PyCFunctionFastWithKeywords (GH-114627)
...
Co-authored-by: Petr Viktorin <encukou@gmail.com >
2024-02-15 11:05:20 +01:00
Sam Gross
d0f1307580
gh-114329: Add PyList_GetItemRef function (GH-114504)
...
The new `PyList_GetItemRef` is similar to `PyList_GetItem`, but returns
a strong reference instead of a borrowed reference. Additionally, if the
passed "list" object is not a list, the function sets a `TypeError`
instead of calling `PyErr_BadInternalCall()`.
2024-02-02 14:03:15 +01:00