[Python-Dev] Re: Making PY_SSIZE_T_CLEAN not mandatory.

2021-06-09 Thread Ronald Oussoren via Python-Dev
> On 9 Jun 2021, at 12:28, Inada Naoki wrote: > > I think stable ABI keeps symbols, signatures, and memory layouts. > I don't think stable ABI keeps all behaviors. As often “it depends”. Behaviour is IMHO part of the API/ABI contract. That said, that does not necessarily mean that we

[Python-Dev] Re: Making PY_SSIZE_T_CLEAN not mandatory.

2021-06-09 Thread Petr Viktorin
On 09. 06. 21 13:09, Paul Moore wrote: On Wed, 9 Jun 2021 at 11:36, Inada Naoki wrote: If I am wrong, can we stop keeping stable ABI at Python 3.12? Python 4.0 won't come in foreseeable future. Stable ABI blocks Python evolution. Conversely, the stable ABI allows projects to build

[Python-Dev] Re: Making PY_SSIZE_T_CLEAN not mandatory.

2021-06-09 Thread Paul Moore
On Wed, 9 Jun 2021 at 11:36, Inada Naoki wrote: > If I am wrong, can we stop keeping stable ABI at Python 3.12? > Python 4.0 won't come in foreseeable future. Stable ABI blocks Python > evolution. Conversely, the stable ABI allows projects to build cross-version binary wheels. Not many projects

[Python-Dev] Re: Making PY_SSIZE_T_CLEAN not mandatory.

2021-06-09 Thread Inada Naoki
I think stable ABI keeps symbols, signatures, and memory layouts. I don't think stable ABI keeps all behaviors. For example, Py_CompileString() is stable ABI. When we add `async` keyword, Py_CompileString() starts raising an Error for source code using `async` name. Is it ABI change? I don't

[Python-Dev] Re: Making PY_SSIZE_T_CLEAN not mandatory.

2021-06-09 Thread Ronald Oussoren via Python-Dev
> On 9 Jun 2021, at 11:13, Victor Stinner wrote: > > On Wed, Jun 9, 2021 at 10:32 AM Ronald Oussoren via Python-Dev > wrote: >> Its a bit late to complain (and I’m not affected by this myself), but those >> functions are part of the stable ABI. The change in 3.10 will break any >>

[Python-Dev] Re: Making PY_SSIZE_T_CLEAN not mandatory.

2021-06-09 Thread Victor Stinner
On Wed, Jun 9, 2021 at 10:32 AM Ronald Oussoren via Python-Dev wrote: > Its a bit late to complain (and I’m not affected by this myself), but those > functions are part of the stable ABI. The change in 3.10 will break any > extensions that use the stable ABI, use these functions and don’t use

[Python-Dev] Re: Making PY_SSIZE_T_CLEAN not mandatory.

2021-06-09 Thread Ronald Oussoren via Python-Dev
> On 7 Jun 2021, at 05:05, Inada Naoki wrote: > > Hi, folks, > > Since Python 3.8, PyArg_Parse*() APIs and Py_BuildValue() APIs emitted > DeprecationWarning when > '#' format is used without PY_SSIZE_T_CLEAN defined. > In Python 3.10, they raise a RuntimeError, not a warning. Extension >