On Thu, Oct 14, 2021 at 7:22 PM Ralf Gommers <ralf.gomm...@gmail.com> wrote:
> > > On Thu, Oct 14, 2021 at 7:19 PM Kevin Sheppard <kevin.k.shepp...@gmail.com> > wrote: > >> I think the issue in random specifically is that a raw list of >> available functions does not provide suitable guidance for someone looking >> for random variate generating function. This is because the module-level >> API is mostly dominated by methods of the singleton RandomState instance. >> Best practice going forward is to use the methods of a Generator instance, >> most likely provided by default_rng(). A simple API-list will not be able >> to provide this guidance. >> > > The list can be annotated with headings and one-line or one-paragraph > descriptions, something like: > > ``` > ## Generator interface > > This is the recommended interface ... <etc - list methods too> > > ## Interface for unit testing and legacy code > > <explain purpose, then list all routines> > ``` > > The complaint is very much valid here, I have made the same one before. > The way the page currently is written makes little sense - it addresses a > user transitioning from the old to the new interface, or explicitly > comparing the two for some reason. To a user just looking for information > on NumPy today, that's more confusing than helpful. > > The page also talks about "The new interface", "What's new and different", > "Some long-overdue API cleanup", and "Since Numpy version 1.17.0" - that > all belongs in a NEP, and not in the API reference docs. > > Cheers, > Ralf > > > I don't think the doc style there is ideal. I would still say that a relatively naive dump of `np.random` (something that would be everything in [v for v in dir(np.random) if not v.startswith("_")] would not lead to an idea set of docs because most of the "obvious" functions are methods of the legacy RandomState. A good set would need something like (excluding headers) default_rng Generator Generator.random Generator.integers ... <much lower, or IMO better in a a sperate page> Legacy Methods ============== <short explainer> np.random.random_sample np.random.randint RandmState ... IMO many (likely most) methods exposed in np.random should not be on the default landing page for np.random. Best, Kevin >> FFT has a very simple API and so a simple list make sense. Similarly, >> np.random before the generation was revamped, which is hy the old-style was >> adequate for <=1.16, but not for >=1.17 >> >> Kevin >> >> >> On Thu, Oct 14, 2021 at 6:09 PM Paul M. <pmma...@gmail.com> wrote: >> >>> Hi Melissa, >>> >>> I think that's the right approach. Looking through the current docs, I >>> think the page on the FFT module is exemplary in this regard: >>> >>> https://numpy.org/doc/stable/reference/routines.fft.html >>> >>> It lists all the available functions (with links to details), and then >>> has a section on "Background Information", "Implementation Details", etc. >>> It's easy to get a quick overview of what the available functions are, and >>> then ease into the background info in terms of how it works. >>> >>> Cheers, >>> Paul >>> >>> >>> On Thu, Oct 14, 2021 at 12:44 PM Melissa Mendonça <meliss...@gmail.com> >>> wrote: >>> >>>> Hi Paul, >>>> >>>> Do you think having a page with the flat list of routines back, in >>>> addition to the explanations, would solve this? >>>> >>>> - Melissa >>>> >>>> On Thu, Oct 14, 2021 at 1:34 PM Paul M. <pmma...@gmail.com> wrote: >>>> >>>>> Hi All, >>>>> >>>>> The documentation of Numpy's submodules used to have a fairly >>>>> standard structure as shown here in the 1.16 documentation: >>>>> >>>>> >>>>> https://docs.scipy.org/doc/numpy-1.16.1/reference/routines.random.html >>>>> >>>>> Now the same page in the API documentation looks like this: >>>>> >>>>> https://numpy.org/doc/stable/reference/random/index.html >>>>> >>>>> While I appreciate the expository text in the new documentation about >>>>> how the generators work, this new version is much less useful as a >>>>> reference to the API. It seems like it might fit better in the user >>>>> manual >>>>> rather than the API reference. >>>>> >>>>> From my perspective it seems like the new version of the documentation >>>>> is harder to navigate in terms of finding information quickly (more >>>>> scrolling, harder to get a bird's eye view of functions in various >>>>> submodules, etc). >>>>> >>>>> Has anyone else had a similar reaction to the changes? I teach a >>>>> couple of courses in scientific computing and bioinformatics and my >>>>> students seem to also struggle to get a sense of what the different >>>>> modules >>>>> offer based on the new version of the documentation. For now, I'm >>>>> referring >>>>> them to the old (1.70) reference manuals as a better way to get acquainted >>>>> with the libraries. >>>>> >>>>> Cheers, >>>>> Paul Magwene >>>>> _______________________________________________ >>>>> 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: meliss...@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: pmma...@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: kevin.k.shepp...@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: kevin.k.shepp...@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