On Tue, Feb 3, 2026 at 10:31 AM Nathan via NumPy-Discussion <
[email protected]> wrote:

> 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
>

Seems reasonable to me, seems compiler options are a good workaround if
wanted. Might add the link
https://cython.readthedocs.io/en/latest/src/userguide/migrating_to_cy30.html
.

Chuck
_______________________________________________
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