blob: 7773620b40b973be852d776d15a6a7103f549654 [file] [log] [blame]
.. highlight:: c
.. _cporting-howto:
Porting Extension Modules to Python 3
We recommend the following resources for porting extension modules to Python 3:
* The `Migrating C extensions`_ chapter from
*Supporting Python 3: An in-depth guide*, a book on moving from Python 2
to Python 3 in general, guides the reader through porting an extension
* The `Porting guide`_ from the *py3c* project provides opinionated
suggestions with supporting code.
* The `Cython`_ and `CFFI`_ libraries offer abstractions over
Python's C API.
Extensions generally need to be re-written to use one of them,
but the library then handles differences between various Python
versions and implementations.
.. _Migrating C extensions:
.. _Porting guide:
.. _Cython:
.. _CFFI: