Author vstinner
Recipients brett.cannon, jkloth, ncoghlan, serhiy.storchaka, vstinner
Date 2018-11-23.13:39:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Jeremy Kloth:
> First off, to me, 'unstable' comes off quite negative, i.e. risky or erratic.

Ok, the 3rd people who dislike my "unstable" name, so it sounds really bad :-)

Jeremy Kloth: 
> 'volatile'; synonym for 'unstable' but with the benefit of being a C concept.

I don't think that it's true that the "#ifndef Py_LIMITED_API" is unstable or volatile. Most of this API didn't change much in the last 10 years. So sorry, "unstable" was really a bad name.

Brett Cannon:
> It's more a limited versus broad API. So maybe rename the directory "broad"?

Jeremy Kloth: 
> - 'extended' or 'extra'; as opposed to limited (from the macro)

The name by itself doesn't explain why an API should be in Include/ or Include/<name>/. What is extra or not?

Jeremy Kloth: 
> - 'crunchy'; Monty Python reference, "If we took the bones out, it wouldn't be crunchy, would it?"

Sorry, I dislike humor in an API. An API has to make sense :-(


Ok, after I read all proposition, I now prefer "cpython".

Extract of my updated PR which gives the rationale:

   Include/.h should be the "portable Python API", whereas
   Include/cpython/.h should be the "CPython API": CPython
   implementation details.

It now makes sense to me what should go to Include/ and what should go to Include/cpython/.

Obviously, Include/cpython/ is incomplete. It's only the public flavor of the "CPython API". There is also the private CPython internal API in Include/internal/.
Date User Action Args
2018-11-23 13:39:42vstinnersetrecipients: + vstinner, brett.cannon, ncoghlan, jkloth, serhiy.storchaka
2018-11-23 13:39:42vstinnersetmessageid: <>
2018-11-23 13:39:42vstinnerlinkissue35134 messages
2018-11-23 13:39:42vstinnercreate