PythonExtensionPatterns
Examples of safe coding practice for Python C extensions.
Install / Use
/learn @paulross/PythonExtensionPatternsREADME
PythonExtensionPatterns
If you need to write C extension for Python then this is the place for you.
The full documentation is on
Read the Docs <http://pythonextensionpatterns.readthedocs.org/en/latest/index.html>_.
Code examples and documentation source are on GitHub <https://github.com/paulross/PythonExtensionPatterns>.
The example and test code is available on PyPi <https://pypi.org/project/cPyExtPatt>.
==================================== Subjects Covered
- Introduction
- A Simple Example
- PyObjects and Reference Counting
- Containers and Reference Counts
- Struct Sequence Objects (a namedtuple in C)
- Exception Raising
- A Pythonic Coding Pattern for C Functions
- Parsing Python Arguments
- Creating New Types
- Setting and Getting Module Globals
- Logging and Frames
- File Paths and Files
- Subclassing and Using super()
- Capsules
- Iterators and Generators
- Context Managers
- Pickling C Extension Types
- Watchers [Python 3.12+]
- Setting Compiler Flags
- Debugging
- Memory Leaks
- Thread Safety
- Source Code Layout
- Using C++ With CPython Code
- Miscellaneous
- Installation
- Further Reading
- TODO
- History
- Index
============= Project Links
- Source is
on GitHub <https://github.com/paulross/PythonExtensionPatterns>_. - Documentation
on Read the Docs <http://pythonextensionpatterns.readthedocs.org/en/latest/index.html>_. - Project is
on PyPi <https://pypi.org/project/cPyExtPatt>_.
================== Videos
I have presented some of this, well mostly the chapter "PyObjects and Reference Counting", at Python conferences so if you prefer videos they are here:
PyCon UK 2015 <https://www.youtube.com/watch?v=ViRIYqiU128>_PyCon US 2016 <https://www.youtube.com/watch?v=Yq__HtUIH5Y>_
