Thanks to everyone for all their comments so far.

Martin v. Löwis wrote:
The functions may have been add to CPython 8 years ago, but they were
added to the API when they appeared in the docs, between 3.1 and 3.1.3.

How is the API defined, if not by the documentation?

Just to stress and support Georg's explanation: the API is *not* defined
through the documentation, but instead primarily through the header
files. All functions declared as PyAPI_FUNC and not starting with _Py
are public API. There used to be a lot of undocumented API (up to 1.4,
there was no API documentation at all, only the extension module
tutorial); these days, more and more API gets documented.

Doing a search for the regex:  "PyAPI_FUNC\([^)]*\) *Py" in .h files,
which should match API functions (functions starting _Py are excluded) gives the following result:

Version  matches
3.0       717
3.1.3     728
3.2b2     743

It would appear the API  bloat is real,
not just an artefact of updated docs.

The "what's new for 3.2" API section:
http://docs.python.org/dev/py3k/whatsnew/3.2.html#build-and-c-api-changes
lists 6 new functions, yet according to my search, 15 have been added
between 3.1.3 and 3.2b2.

Of course 743 functions is about 700 too many,
but that's a discussion for Python-ideas and PEP 384.

Mark.


HTH,
Martin


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to