pythoncapi-compat users¶
Examples of projects using pythoncapi_compat.h¶
bitarray:
bitarray/_bitarray.c
usesPy_SET_SIZE()
(pythoncapi_compat.h copy)immutables:
immutables/_map.c
usesPy_SET_SIZE()
(pythoncapi_compat.h copy)Mercurial (hg) uses
Py_SET_TYPE()
(commit, pythoncapi_compat.h copy)python-zstandard uses
Py_SET_TYPE()
andPy_SET_SIZE()
(commit): Mercurial extension.hollerith
src/writer.c
usesPyObject_CallOneArg() and other Python 3.9 apis
(pythoncapi_compat.h copy)
Projects not using pythoncapi_compat.h¶
Projects not using pythoncapi_compat.h
:
numpy has its own compatibility layer,
npy_pycompat.h
andnpy_3kcompat.h
header files. It supports more C compilers than pythoncapi_compat.h: it supports__STRICT_ANSI__
(ISO C90) for example. Rejected PR 18713: MAINT: Use pythoncapi_compat.h in npy_3kcompat.h (when it was rejected, numpy still had code for compatibility with Python 2.7).Cython doesn’t use pythoncapi_compat.h: see Cython issue #3934. For example, ModuleSetupCode.c provides functions like
__Pyx_SET_REFCNT()
.
Project with a strict contributor agreement: