scipy / scipy-cookbook

Scipy Cookbook

Home Page:https://scipy-cookbook.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is there appetite for trying to revitalize the cookbook?

rossbar opened this issue · comments

The scipy-cookbook has been a great resource in the past, but (as noted in the book itself) it is not really curated/had a high volume of attention paid to it. Is there any interest among maintainers to try to kick-start the cookbook and perhaps make it a more easy/visible place for users to contribute scipy tutorial content?

Specifically, I'd think of starting with updating the infrastructure - moving away from the custom build/cookbookrebuild.py workflow to a pure sphinx-based workflow using some of the excellent tools of the executablebooks project. I've had some experience working on similar projects for NumPy (numpy-tutorials) and NetworkX (nx-guides) and have found that the tools of the executablebooks project work very well and offer some great benefits like including (but not limited to):

  • The possibility for a fully sphinx-based workflow (doesn't require any custom building/rendering scripts - notebook execution and execution caching via sphinx extensions)
  • Support for jupyter notebooks out of the box (a major advantage here, since the content is already in notebooks)
  • Support for a markdown-based text format for Jupyter notebooks that makes diffing/reviewing notebooks much more straightforward

I realize that this is just the tip of the iceberg - the real challenge would be evaluating/updating the content of the cookbook - but I think modernizing the workflow might make subsequent steps/improvements easier.

I'd be happy to work on this, but I want to make sure that this is something that others/maintainers would be interested in!

Thanks for bringing this up @rossbar. It depends. It'd be a huge task to go through this content. We should have a nice curated set of tutorials somewhere though. I'm also not sure about the scope and duplication, because there's other places with similar content like:

My inclination at the moment is to say that it would be more useful to go through this repo and extract content for the official tutorials of Matplotlib, SciPy, etc. And not have any new uncurated tutorials - there's a huge amount of other places to put those these days.

We should have a nice curated set of tutorials somewhere though.

Yes, this is what I was thinking of as the eventual goal - a collection of curated (i.e. reviewed + tested in CI) scipy-oriented tutorials. The current scope of the scipy-cookbook uses "scipy" in the "all of scientific Python sense" rather than "scipy the library", so there is indeed a lot of material that is either duplicated (e.g. many of the matplotlib notebooks are covered in the matplotlib gallery, or might be a better fit elsewhere (e.g. the numpy tutorials).

So one question to answer is: should scipy-cookbook be the place where curated scipy tutorials live, or would it be preferable to start a new project? Personally, I really like the name "scipy-cookbook" and I think there's value in preserving the history of the project (commit history at least), so I'd lean towards revamping this project and paring it down to more scipy-oriented content. OTOH if there's a strong preference for a clean break from the cookbook in favor of a new curated tutorials site (scipy-tutorials?) that makes sense, and the more scipy-specific notebooks here (optimization, kdtree, signal processing, etc.) could be updated and used to seed that project.