On Mon, Feb 13, 2023 at 11:33 AM Sebastian Berg <sebast...@sipsolutions.net>
wrote:

> On Sat, 2023-02-11 at 11:24 +0000, Ralf Gommers wrote:
> > On Fri, Feb 10, 2023 at 5:35 PM Nathan <nathan.goldb...@gmail.com>
> > wrote:
> >
> <snip>
>
> > > >
> > >
> > > Small bikeshed: the name np.types indicates to me that it has
> > > something to
> > > do with static typing. If this namespace only includes dtype
> > > classes, then
> > > np.dtype_classes is a more natural name. If it includes things like
> > > `np.ufunc` then that's not as clear, and I don't have a better idea
> > > offhand
> > > than np.types.
> > >
> >
> > I had the same concern. It would be good to have a full list of
> > things to
> > put in this and the scope of it. There's other things that could fit,
> > like
> > custom warning and exception classes. We just added
> > `numpy.exceptions` for
> > the next release, but that could still be moved. Having separate
> > submodules
> > for type classes, for exceptions, for array-function override related
> > stuff, etc. is not great. Enums could fit as well, they're now
> > polluting
> > the main namespace. It seems like we need one namespace with all that
> > kind
> > of stuff that the average end user won't need but that becomes
> > useful/important when you're doing something quite custom or are
> > writing a
> > library on top of numpy.
>
>
> Well, right now I care mainly about dtype related types.   Other
> possible ones might be:
> * np.ufunc  (just because I doubt it is used much at all)
> * the array-function dispatcher  (private right now)
> * DTypeMeta (dtype related, though)
>

Those all seem to fit indeed.


> But, not sure we have many more.  I don't think I mind `exceptions` to
> be a separate namespace it seems nice and clear?  For the rest, either
> a dtype specific solution or not is fine by me.
>
> I suggested types because Python has `types` as a catch-all for builtin
> types (mainly function, generator, ...) that are not normally used
> directly and it seemed relatively clear and concise.
> (In Python I don't think it has anything to do with typing directly.)
>

Okay, as long as we keep in mind that it should contain all these
not-for-main-namespace functions/classes, it seems fine with me. We can
live with two namespaces (`types` and `exceptions`), but more would get a
bit too much. We were planning to use `np.lib.*` for more detailed
user-facing functions that didn't belong in the main namespace, so let's
make sure that we don't end up with >2 of these kinds of namespaces right
below the top level one.

Cheers,
Ralf



>
> - Sebastian
>
>
> >
> > Cheers,
> > Ralf
> >
> >
> >
> > >
> > > > What do you think?  I don't really have a good idea for an
> > > > alternative
> > > > but at some point not making these nicely public is not great...
> > > >
> > >
> > > Related to your proposal but not orthogonal to it, I still think it
> > > would
> > > still be nice to be able to do things like:
> > >
> > >     >>> np.dtype[numbers.Number]
> > >     np.types.NumberDType
> > >
> > > I know that currently __class_getitem__ is used by the typing
> > > support, but
> > > I think the typing will still work if you also got back a usable
> > > dtype
> > > instance at runtime instead of a GenericAlias, which has a
> > > confusing repr
> > > and is not useful at runtime.
> > >
> > >
> > > > (I will note that the DType classes do get printed sometimes in
> > > > error
> > > > messages.)
> > > >
> > >
> > > See also https://github.com/numpy/numpy/issues/22920.
> > >
> > >
> > > >
> > > > Cheers,
> > > >
> > > > Sebastian
> > > >
> > > > _______________________________________________
> > > > 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: nathan12...@gmail.com
> > > >
> > > _______________________________________________
> > > 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: ralf.gomm...@googlemail.com
> > >
> > _______________________________________________
> > 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