Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paulross/pythonextensionpatterns
Examples of safe coding practice for Python C extensions.
https://github.com/paulross/pythonextensionpatterns
c python python-c-api python-extension
Last synced: 5 days ago
JSON representation
Examples of safe coding practice for Python C extensions.
- Host: GitHub
- URL: https://github.com/paulross/pythonextensionpatterns
- Owner: paulross
- License: mit
- Created: 2014-08-28T10:13:21.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-21T13:36:39.000Z (16 days ago)
- Last Synced: 2024-10-22T09:37:20.906Z (15 days ago)
- Topics: c, python, python-c-api, python-extension
- Language: C
- Size: 5.56 MB
- Stars: 220
- Watchers: 14
- Forks: 32
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- License: LICENSE.txt
Awesome Lists containing this project
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 `_.Code examples and documentation source are right here on GitHub.
==================
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 `_
- `PyCon US 2016 `_====================================
Subjects Covered
====================================- Introduction
- A Simple Example
- PyObjects and Reference Counting
- Exception Raising
- A Pythonic Coding Pattern for C Functions
- Parsing Python Arguments
- Creating New Types
- Setting and Getting Module Globals
- Logging
- File Paths and Files
- Subclassing and Using super()
- Capsules
- Iterators and Generators
- Pickling C Extension Types
- Setting Compiler Flags
- Debugging
- Memory Leaks
- Thread Safety
- Source Code Layout
- Using C++ With CPython Code
- Miscellaneous
- Further Reading