[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.

Cheers,
Mark.


More information about the Python-Dev mailing list