[Python-Dev] What do PyAPI_FUNC & PyAPI_DATA mean?

Mark Shannon mark at hotpy.org
Mon Apr 23 10:32:04 CEST 2012

Many (most?) of the function declarations in the CPython header files
are annotated with the PyAPI_FUNC declaration.
Similarly for data declarations and PyAPI_DATA

What do they mean, exactly? From the name I would expect that they are a 
way of declaring a function or datum to be part of the API, but their 
usage seems to be more to do with linkage.

The reason I am asking is that the new dictionary implementation 
declares a few functions used to communicate between dictobject.c, 
typeobject.c and ceval.c which cannot be static functions, but are not 
intended to be part of the API.


More information about the Python-Dev mailing list