I'm not sure I understand the objection to having "too many submodules",
but if it's a concern, the exceptions could be added here instead of a
separate np.exceptions, since exceptions are themselves just types.

Aaron Meurer

On Wed, Feb 15, 2023 at 2:33 PM Sebastian Berg <sebast...@sipsolutions.net>
wrote:

> On Fri, 2023-02-10 at 10:34 -0700, Nathan wrote:
> > On Fri, Feb 10, 2023 at 3:31 AM Sebastian Berg <
> > sebast...@sipsolutions.net>
> > wrote:
> >
> > > Hi all,
> > >
> > > I was wondering if we should introduce a new `np.types` namespace.
> > > The
> > > main reason is that we have the DType classes, that most users
> > > don't
> > > need to worry about.  These mirror the scalar classes, but getting
> > > them
> > > is weird currently.
> > >
> > > I never wanted to put these in the top-level (because I feel they
> > > probably won't be used much day to day).  That would be thing like:
> > >
> > > * np.types.IntDType, np.types.Int64DType  (or maybe without dtype)
> > > * np.types.NumberDType  (an abstract DType)
> > > * np.types.InexactDType
> > > * ...
> > > * np.types.DTypeMeta  (the metaclass used, just to have it
> > > somewhere)
> > >
> > >
> >
> > > Maybe there are some more types that we could use a public
> > > entrypoint
> > > for  (e.g. the type used by array-function dispatched functions or
> > > `np.ufunc` could in principle move also).
> > >
> >
> > Small bikeshed: the name np.types indicates to me that it has
> > something to
>
>
> We tried discussing it in the community meeting today and it led to
> bike-shedding.  So lets see if a poll can give an idea for a preferred
> color:
>
> https://discuss.scientific-python.org/t/where-to-put-dtype-classes/655
>
> Happy to add more options (or just get posts there).  I don't care too
> much overall about the where, I just feel it is well time to put it
> somewhere.
>
> - Sebastian
>
>
>
> > 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.
> >
> > >
> > > 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: 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: asmeu...@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: arch...@mail-archive.com

Reply via email to