On Sat, 2024-10-12 at 12:13 -0400, Marten van Kerkwijk wrote:
> Hi Dan, others,
> 

<snip>

> Regardless, since there have been 7 years of
> PendingDeprecationWarning,
> I think changing that to a regular DeprecationWarning should not
> surprise anybody, at least not if they had built a package based on
> np.matrix.


`PendingDeprecationWarning` is hidden by default for all code, so only
"well maintained" libraries are unlikely to have noticed it.
I think there are warnings in the docs as well, though.  So hopefully,
few new code uses it

I am very happy to escalate (also to `VisibleDeprecationWarning`), but
the question is always how many users are affected by it and how.
And I am not that optimistic that it is few enough that we don't have
to make dealing with the change easier in some form.


> 
> It is maybe good to add that it is less easy to split of matrix into
> its
> own package than it was for the financial routines: because matrix
> overrides some pretty basic assumptions of arrays (mostly how shapes
> behave), there are bits of special-casing for np.matrix throughout
> the
> rest of the code, which we would want to remove if np.matrix is no
> longer part of numpy.  I.e., moving it might mean having to define
> ``matrix.__array_function__`` and override those functions. This
> means a
> new package would need a bit of a champion.


This actually made me think a bit.  We have two options (both need a
champion, and I hope we have that here in Dan).
An (almost) drop in package may indeed need `__array_function__`
because NumPy has a few `matrix` isinstance checks.

I am slightly curious what code still uses matrix.  If it is just some
localized matrix-heavy code, an incredibly light-weight replacement
might also serve the purpose well enough?
That would never pass `isinstance()` checks in third-party packages,
etc. so not sure it can work, though.


In any case, overall, I am definitely in favor.  The only question is
if we have to go to the trouble to create a drop-in replacement.
And for that it would be nice if we can see how easy that is, because
while tedious, it may not be all that hard.

- Sebastian 


> 
> All the best,
> 
> Marten
> _______________________________________________
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: sebast...@sipsolutions.net
> 


_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to