SkillAgentSearch skills...

PythonExtensionPatterns

Examples of safe coding practice for Python C extensions.

Install / Use

/learn @paulross/PythonExtensionPatterns
About this skill

Quality Score

0/100

Supported Platforms

Universal

README


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>_
View on GitHub
GitHub Stars233
CategoryDevelopment
Updated3mo ago
Forks32

Languages

C

Security Score

100/100

Audited on Dec 28, 2025

No findings