On Tue., 1 Oct. 2019, 6:47 am Victor Stinner, <vstinner@python.org> wrote:
Hi back,

It seems like "config.struct_size = sizeof(PyConfig);" syntax is "not
really liked".

I don't see any traction to provide a stable ABI for embedded Python.
The consensus is more towards: "it doesn't work and we don't want to
bother with false promises" (nor add code for that).

Since Lukasz is supposed to tag 3.8.0rc1 today, I propose to remove
anything related to "stable API" or "stable ABI" from the PEP 587
right now. I wrote two PRs to remove struct_size:

* CPython: https://github.com/python/cpython/pull/16500
* PEP 587: https://github.com/python/peps/pull/1185

Later, if we decide to start proving a stable ABI for embedded Python,
we can still add a "version" or "struct_size" field to PyConfig later
(for example in Python 3.9).

Thanks Victor, I think this is the right way for us to go, given the relative timing in the release cycle.

The idea of some day expanding the stable ABI to cover embedding applications, not just extension modules, is an intriguing one, but I'm genuinely unsure anyone would ever actually use it.