Cython packages need rebuild on all Python interpreter updates
Hi, It has recently come to my attention that Cython uses CPython's private API, which is unstable, see [1]. From https://docs.python.org/3/c-api/stable.html:
Names prefixed by an underscore, such as _Py_InternalState, are private API that can change without notice even in patch releases.
Meaning that packages that ship Cython modules are dependent on the interpreter version, and need to be rebuilt on all python release updates, including patch releases. [1] https://github.com/cython/cython/issues/5275 Cheers, Filipe Laíns
On Tue, 2023-02-28 at 03:06 +0000, Filipe Laíns wrote:
Hi,
It has recently come to my attention that Cython uses CPython's private API, which is unstable, see [1].
From https://docs.python.org/3/c-api/stable.html:
Names prefixed by an underscore, such as _Py_InternalState, are private API that can change without notice even in patch releases.
Meaning that packages that ship Cython modules are dependent on the interpreter version, and need to be rebuilt on all python release updates, including patch releases.
[1] https://github.com/cython/cython/issues/5275
Cheers, Filipe Laíns
Update. Apparently, this is not quite right. There's a commitment to *avoid* breaking the ABI usage resulting from private API, but there's no guarantee, as it might be needed to fix bugs or security issues. This should generally be documented in the release notes, so I guess we should just keep an eye on those. Cheers, Filipe Laíns
participants (1)
-
Filipe Laíns