This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: C API docs need a clear "defining custom extension types" section
Type: enhancement Stage: needs patch
Components: C API, Documentation Versions: Python 3.3, Python 3.4, Python 3.5
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, ncoghlan
Priority: normal Keywords:

Created on 2014-01-12 06:25 by ncoghlan, last changed 2022-04-11 14:57 by admin.

Messages (1)
msg207927 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2014-01-12 06:25
The main C API docs don't clearly explain how to define new types, so people almost always cargo cult an existing legacy type definition instead (I know I do).

The extending and embedding docs have a guide (http://docs.python.org/3/extending/newtypes.html), but that describes the old legacy method based on static type declarations. New code should instead use the dynamic mechanism defined in PEP 384 (http://www.python.org/dev/peps/pep-0384/#type-objects).

See also http://docs.python.org/3/c-api/type.html#PyType_FromSpec

Note that PyType_Spec isn't defined in the C API docs *at all*.
History
Date User Action Args
2022-04-11 14:57:56adminsetgithub: 64423
2020-06-25 09:39:58vstinnersetcomponents: + C API
2014-01-12 06:25:11ncoghlancreate