Hi all,

Currently NumPy ships two versions of the Cython headers: one for Cython
3.0 and newer (__init__.cython-30.pxd) and one for older versions
(__init__.pxd).

I'd like to make using the __init__.pxd file a compiler error in NumPy 2.5
and force downstream users of the Cython interface to use Cython 3.0 or
newer.

I have a PR open [1] to implement this and generate a compiler error with
as an explanation as I can for any users of this header.

The immediate motivator here is needing to touch the Cython bindings for my
other recent proposal [1]. I'd prefer not to need to worry about updating
both versions of the Cython headers.

Beyond my personal desire to avoid doing unnecessary work, IMO having two
versions of the headers is a recipe for bitrot and latent bugs.
Contributors may or may not be asked to update both versions of the
bindings depending on whether a reviewer remembers that there are two
versions.

Cython 3.0.0 came out Jul 17, 2023, so when NumPy 2.5 comes out later this
summer it will have been three years since that release. Dropping support
this summer would follow our three-year support for CPython.

If anyone reading this would prefer that we not do this, please reply here
or on the open pull request to let us know what your concerns are.
Otherwise, I will likely merge my pull request next week.

-Nathan

[1] https://github.com/numpy/numpy/pull/30770
[2]
https://mail.python.org/archives/list/[email protected]/thread/TOFVC2RIXTPJKWVPFVAGET2NDTRMDQQL/
_______________________________________________
NumPy-Discussion mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/numpy-discussion.python.org
Member address: [email protected]

Reply via email to