On 01. 02. 22 16:42, Christian Heimes wrote:
On 01/02/2022 16.08, Victor Stinner wrote:
--
I would prefer to introduce C API incompatible changes differently:
first fix Cython, and *then* introduce the change.
- (1) Propose a Cython PR and get it merged
- (2) Wait until a new Cython version is released
- (3) If possible, wait until numpy is released with regenerated
Cython code
- (4) Introduce the incompatible change in Python
Note: Fedora doesn't need (3) since we always regenerated Cython code
in numpy.
Hi,
this is a reasonable request for beta releases, but IMHO it is not
feasible for alphas. During alphas we want to innovate fast and play
around. Your proposal would slow down innovation and impose additional
burden on core developers.
There are more code binding generators than just Cython. Shouldn't we
work with cffi, SWIG, sip, pybind11, and PyO3 developers as well? I care
for cffi and PyO3, too...
I would prefer if we can get Cython and all the other code generator and
bindings library off the unstable C-API. They should use the limited API
instead. If they require any C-APIs outside the limited API, then we
should investigate and figure something out.
Moving off the internal (unstable) API would be great, but I don't think
Cython needs to move all the way to the limited API.
There are three "levels" in the C API:
- limited API, with long-term ABI compatibility guarantees
- "normal" public API, covered by the backwards compatibility policy
(users need to recompile for every minor release, and watch for
deprecation warnings)
- internal API (underscore-prefixed names, `internal` headers, things
documented as private)
AFAIK, only the last one is causing trouble here.
(see also: https://devguide.python.org/c-api/)
_______________________________________________
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/JMWAU6JV56SN4ZP6VLM63QHXONJY7AQ4/
Code of Conduct: http://python.org/psf/codeofconduct/