Petr Viktorin schrieb am 03.02.22 um 13:47:
On 02. 02. 22 11:50, Stefan Behnel wrote:
Maybe we should advertise the two modes more. And make sure that both
work. There are certainly issues with the current state of the "limited
API" implementation, but that just needs work and testing.
I wonder if it can it be renamed? "Limited API" has a specific meaning
since PEP 384, and using it for the public API is adding to the general
confusion in this area :(
I was more referring to it as an *existing* compilation mode of Cython that
avoids the usage of CPython implementation details. The fact that the
implementation is incomplete just means that we spill over into non-limited
API code when no limited API is available for a certain feature. That will
usually be public API code, unless that is really not available either.
One recent example is the new error locations in tracebacks, where PEP 657
explicitly lists the new "co_positions" field in code objects as an
implementation detail of CPython. If we want to implement this in Cython,
then there is no other way than to copy these implementation details pretty
verbatimly from CPython and to depend on them.
https://www.python.org/dev/peps/pep-0657/
In this specific case, we're lucky that this can be considered an entirely
optional feature that we can separately disable when users request "public
API" mode (let's call it that). Not sure if that's what users want, though.
Stefan
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at
https://mail.python.org/archives/list/python-dev@python.org/message/A55HYBIFBOTAX5IB4YUYWUHI3IDLRD2F/
Code of Conduct: http://python.org/psf/codeofconduct/