Petr Viktorin
2ab34f0e42
gh-110803: Reorganize docs for what PyType_Slot doesn't cover (GH-110813)
...
* gh-110803: Reorganize docs for what PyType_Slot doesn't cover
- Cover the offset fields first
- Mention the old alternative for MANAGED flags, which is needed
to support older Pythons
- De-emphasize the internal flags: use an inline list.
- Add a note to PyMemberDef saying what to do with it
* Remove an older draft...
2023-10-13 14:51:48 +02:00
Serhiy Storchaka
983305268e
gh-107298: Fix yet more Sphinx warnings in the C API doc (GH-107345)
2023-07-27 18:44:32 +03:00
Victor Stinner
391e03fa05
gh-107298: Fix Sphinx warnings in the C API doc ( #107302 )
...
* Update Doc/tools/.nitignore
* Fix BufferedIOBase.write() link in buffer.rst
2023-07-27 01:41:15 +02:00
Serhiy Storchaka
08a228da05
gh-107091: Fix the use of some C domain roles ( #107092 )
2023-07-23 12:27:05 +02:00
Serhiy Storchaka
fcc816dbff
gh-106919: Use role :c:macro: for referencing the C "constants" (GH-106920)
2023-07-21 10:52:07 +03:00
Eric Snow
a840806d33
gh-105227: Add PyType_GetDict() (GH-105747)
...
This compensates for static builtin types having `tp_dict` set to `NULL`.
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2023-07-10 18:41:02 +02:00
Petr Viktorin
2b90796be6
gh-103968: PyType_FromMetaclass: Allow metaclasses with tp_new=NULL (GH-105386)
2023-06-12 17:45:49 +02:00
Victor Stinner
bae415ad02
gh-102304: doc: Add links to Stable ABI and Limited C API ( #105345 )
...
* Add "limited-c-api" and "stable-api" references.
* Rename "stable-abi-list" reference to "limited-api-list".
* Makefile: Document files regenerated by "make regen-limited-abi"
* Remove first empty line in generated files:
- Lib/test/test_stable_abi_ctypes.py
- PC/python3dll.c
2023-06-06 08:40:32 +00:00
Petr Viktorin
1668b41dc4
gh-97908: CAPI docs: Remove repeated struct names from member docs (GH-100054)
...
And add raw HTML fragments to keep old links working.
2023-05-29 13:54:14 +02:00
Adam Turner
6ab463684b
GH-97950: Use new-style index directive ('object') ( #104158 )
...
* Uncomment object removal in pairindextypes
* Use new-style index directive ('object') - C API
* Use new-style index directive ('object') - Library
* Use new-style index directive ('object') - Reference
* Use new-style index directive ('object') - Tutorial
2023-05-04 13:04:41 +03:00
Petr Viktorin
cd9a56c2b0
gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511)
...
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-04 09:56:53 +02:00
Petr Viktorin
524a7f77fd
gh-103968: Deprecate creating heap types whose metaclass has custom tp_new. (GH-103972)
...
(That's a mouthful of an edge case!)
Co-authored-by: Barney Gale <barney.gale@gmail.com>
2023-05-03 15:17:14 +02:00
Brett Simmers
b7f4811c88
gh-103091: Add PyUnstable_Type_AssignVersionTag ( #103095 )
2023-04-24 10:07:47 -06:00
Carl Meyer
82ccbf69a8
gh-91051: allow setting a callback hook on PyType_Modified (GH-97875)
2022-10-21 14:41:51 +01:00
Hugo van Kemenade
fa2d43e518
Docs: Fix backtick errors found by sphinx-lint ( #97998 )
...
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-10-06 18:01:30 -07:00
Mark Shannon
0f733fffe8
GH-95245: Document use of MANAGED flags instead of offsets. (GH-96044)
2022-08-30 16:26:08 +01:00
Petr Viktorin
21a9a85ff4
gh-93466: Document PyType_Spec doesn't accept repeated slot IDs; raise where this was problematic (GH-93471)
2022-06-10 15:55:09 +02:00
Sebastian Berg
7fef847662
bpo-45383: Get metaclass from bases in PyType_From* (GH-28748)
...
This checks the bases of of a type created using the FromSpec
API to inherit the bases metaclasses. The metaclass's alloc
function will be called as is done in `tp_new` for classes
created in Python.
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
2022-06-09 17:11:08 +02:00
Wenzel Jakob
5e34b494a0
gh-60074: add new stable API function PyType_FromMetaclass (GH-93012)
...
Added a new stable API function ``PyType_FromMetaclass``, which mirrors
the behavior of ``PyType_FromModuleAndSpec`` except that it takes an
additional metaclass argument. This is, e.g., useful for language
binding tools that need to store additional information in the type
object.
2022-05-27 10:27:39 +02:00
Jelle Zijlstra
897bc6f928
More minor fixes to C API docs (GH-31525)
...
* wording fixes in type.rst
* grammar and punctuation in sys.rst
* set: grammar fixes
* structures: capitalization fix
* grammar fixes for sequence
* objects: point to Py_TYPE instead of direct object access
* numbers: add more explicit Python equivalences
* method: add missing period
* memory: grammar fix
* mapping: grammar fixes
* long: grammar fix
* iter: fix grammar for PyAIter_Check
* init: grammar fix
2022-04-02 12:31:05 -07:00
Petr Viktorin
204946986f
bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081)
...
* Make PyType_GetModuleByDef public (remove underscore)
Co-authored-by: Victor Stinner <vstinner@python.org>
2022-02-11 17:22:11 +01:00
Christian Heimes
f66c857572
bpo-45459: Add Py_buffer to limited API (GH-29991)
...
- [x] ``Py_buffer`` struct
- [x] ``PyBuffer_*()`` API functions
- [x] ``PyBUF_*`` constants
- [x] ``Py_bf_getbuffer`` and ``Py_bf_releasebuffer`` type slots
- [x] ``PyMemoryView_FromBuffer()`` API
- [x] tests for limited API
- [x] ``make regen-limited-abi``
- [x] documentation update
- [ ] export ``PyPickleBuffer*()`` API ???
2022-02-02 07:03:10 -08:00
Konstantin Popov
af08f1ba40
Fix minor typo in Doc/c-api/type.rst (GH-28432)
...
retreived-> retrieved
2021-09-18 09:45:33 +08:00
Hai Shi
3e2c643ae0
bpo-42035: Add PyType_GetQualName() to get a type's qualified name. (GH-27551)
2021-08-17 15:39:34 +02:00
da-woods
ac811f9b5a
bpo-41886: Fix documented type of PyType_Type (GH-22454)
2021-08-03 13:21:25 -04:00
Hai Shi
a390ebea17
bpo-42035: Add a PyType_GetName() to get type's short name. (GH-23903)
2021-07-29 09:57:02 +02:00
Pablo Galindo
43cf7c864a
bpo-44263: Mention PyType_Ready in the gc protocol warning (GH-26445)
2021-05-29 04:32:42 +01:00
Pablo Galindo
8b55bc3f93
bpo-44263: Better explain the GC contract for PyType_FromSpecWithBases (GH-26442)
2021-05-29 03:57:39 +01:00
Victor Stinner
5bd0619533
bpo-43908: Document Static Types in the C API (GH-25710)
...
Update also PyTypeObject structure definition in the doc.
2021-04-29 10:26:34 +02:00
Antonio Cuni
315fc52db1
bpo-42528: Improve the docs of most Py*_Check{,Exact} API calls (GH-23602)
...
I think that none of these API calls can fail, but only few of them are
documented as such. Add the sentence "This function always succeeds" (which is
the same already used e.g. by PyNumber_Check) to all of them.
2021-01-06 12:38:26 +01:00
Serhiy Storchaka
686c203cd4
bpo-42423: Accept single base class in PyType_FromModuleAndSpec() (GH-23441)
2020-11-22 13:25:02 +02:00
Serhiy Storchaka
1db76394ea
bpo-42412: Fix possible leaks and check arguments in PyType_FromModuleAndSpec() (GH-23410)
...
* There were leaks if Py_tp_bases is used more than once or if some call is
failed before setting tp_bases.
* There was a crash if the bases argument or the Py_tp_bases slot is not a tuple.
* The documentation was not accurate.
2020-11-21 12:02:53 +02:00
Hai Shi
2b39da4997
bpo-41832: Restore note about NULL in PyType_Slot.pfunc (GH-23243)
2020-11-14 13:03:42 +01:00
Hai Shi
a13b26cac1
bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931)
...
PyType_GetSlot() can now accept static types.
Co-Authored-By: Petr Viktorin <encukou@gmail.com>
Automerge-Triggered-By: GH:encukou
2020-11-10 12:53:46 -08:00
Hai Shi
88c2cfd9ff
bpo-41832: PyType_FromModuleAndSpec() now accepts NULL tp_doc (GH-23123)
2020-11-06 17:04:47 +01:00
Benjamin Peterson
700fa1b836
Note the buffer slots can be set with PyType_Spec with the unlimited API. (GH-22031)
...
Follow up to f7c4e23642 .
2020-09-01 20:36:42 -05:00
Petr Viktorin
d9a966ae08
bpo-38787: Clarify docs for PyType_GetModule and warn against common mistake (GH-20215)
2020-08-27 15:36:48 +02:00
Hai Shi
86d69444e7
bpo-40584: Update PyType_FromModuleAndSpec() to process tp_vectorcall_offset (GH-20026)
2020-05-11 23:38:55 +02:00
Petr Viktorin
e1becf46b4
bpo-38787: C API for module state access from extension methods (PEP 573) (GH-19936)
...
Module C state is now accessible from C-defined heap type methods (PEP 573).
Patch by Marcel Plch and Petr Viktorin.
Co-authored-by: Marcel Plch <mplch@redhat.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2020-05-07 15:39:59 +02:00
Victor Stinner
509dd90f46
bpo-39542: Convert PyType_Check() to static inline function (GH-18364)
...
Convert PyType_HasFeature(), PyType_Check() and PyType_CheckExact()
macros to static inline functions.
2020-02-05 14:24:17 +01:00
Jeroen Demeyer
9a13a388f2
bpo-36974: expand call protocol documentation (GH-13844)
...
CC @encukou
I'm also adding Petr Viktorin as contributor for vectorcall in the "what's new" section.
https://bugs.python.org/issue36974
Automerge-Triggered-By: @encukou
Automerge-Triggered-By: @encukou
2019-11-12 05:08:00 -08:00
Serhiy Storchaka
e835b31d2b
bpo-38600: NULL -> `NULL`. (GH-17001)
...
Also fix some other formatting.
2019-10-30 21:37:16 +02:00
Serhiy Storchaka
25fc088607
bpo-38600: Change the mark up of NULL in the C API documentation. (GH-16950)
...
Replace all *NULL* with ``NULL``.
2019-10-30 12:03:20 +02:00
Ammar Askar
5faff977ad
bpo-38206: Clarify tp_dealloc requirements for heap allocated types. (GH-16248)
...
As mentioned in the bpo ticket, this mistake came up on two reviews:
- https://github.com/python/cpython/pull/16127#pullrequestreview-288312751
- https://github.com/python/cpython/pull/16071#pullrequestreview-287819525
Would be nice to have it documented in a more permanent place than 3.8's whatsnew entry.
https://bugs.python.org/issue38206
Automerge-Triggered-By: @encukou
2019-09-27 04:11:27 -07:00
Petr Viktorin
468f8a6ee0
bpo-38140: Document offsets in PyMemberDef (GH-16354)
...
bpo-38140: Document offsets in PyMemberDef
Co-Authored-By: Ammar Askar <ammar_askar@hotmail.com>
2019-09-25 13:06:16 +02:00
Eddie Elizondo
3368f3c6ae
bpo-38140: Make dict and weakref offsets opaque for C heap types ( #16076 )
...
* Make dict and weakref offsets opaque for C heap types
* Add news
2019-09-19 17:29:05 +01:00
t k
8b31a11a69
bpo38158: Removing nonexistant member "doc" from PyType_Spec documentation (GH-16142)
2019-09-15 07:50:05 +01:00
Petr Viktorin
f1e17e9f97
bpo-34626: Document creating heap types from the C-API (GH-9154)
...
bpo-34626: Document creating heap types from the C-API
Add missing descriptions of PEP384's PyType_Spec and PyType_Slot,
along with some introductory prose.
2019-05-24 11:19:42 +02:00
Stéphane Wirtel
cbb6484573
Doc: Replace the deprecated highlightlang directive by highlight. ( #13377 )
...
highlightlang is deprecated since April 2018 in Sphinx.
See https://github.com/sphinx-doc/sphinx/pull/4845
2019-05-17 15:25:34 +05:30
Eddie Elizondo
9fbcfc08e5
bpo-16086: Fix PyType_GetFlags() documentation (GH-10758)
...
PyType_GetFlags() return type is unsigned long, not long.
2018-11-29 10:11:36 +01:00