Inspired by this question from @tgeorgeux, I’ve started a blog post listing & describing the various ‘kinds’ of Jupyter extensions. We have a ton of ways, and it’s confusing. Hopefully a blog post describing the many many ways with a short summary would be very useful.
I’ve listed all the kinds of extensions I know, and am going to try include for all of them: 1. A short summary, 2. Links to docs, 3. An example or two. I’ll also try include gifs / screenshots wherever possible. There’s probably more there I don’t know about.
Please leave a comment here or on the medium draft. Would love to polish and post this to the Jupyter blog within the next week or so.
Wow this blog post is of a kind of overview posts that I think is really crucial for thebIupyter ecosystem.
While it is fully possible to learn one part, it takes a huge amount of effort to get a good overview, this helps massively.
The scope may already be perfect, and im not sure if I think it make sense to extend it as less often is more, but a related challenge for me has been regarding with installation mechanisms relating to different extensions etc.
What installed extension would require restarts of the user-server for example? Server ones only? Why sometimes prefer the use of conda over pip? Why sometimes combine both installation of a jlab extension and notebook serverextension enable?
There has been a lot of confusion for me regarding these matters, and i find it hard to overview as well.
Glad it is useful, @consideRatio! It needs a little more completeness and a lot of editing before publishing It might also be a good time for me to re-read Elements of Style before editing…
I wonder if a good style of writing a blog post is for you / others to ask series of questions about a particular topic, we crowdsource answers, and then make blog posts from that?
this looks like a fantastic post, I really like the concept! In general I think we should start putting more emphasis on finding, highlighting, documenting, etc extensions in the Jupyter ecosystem
Ok, I think it’s pretty much content complete now, except for a couple GIFs (for jupyterlab-latex and the JupyterHub authentication). I also added a ton of links to places, since this blog post is motly a way for people to discover other things.
The post needs a couple editing passes - I’ll do one myself soon, but would love to have more! Please provide other feedback too
Looks great, Yuvi! Thanks for writing this post. It’s a challenging piece to write, but it’s desperately needed. Thanks for tackling it!
One thing to be aware of… I (and others) have been working on splitting the notebook frontend from the backend server. Once this is finished, all frontend clients—like JupyterLab, nteract_on_jupyter, Voila, and even the classic Notebook—become “server extensions”. This doesn’t really change your post, but might be something we have to include ad hoc, once that work is finished. Some server extensions will just become “heads” to a headless Jupyter Server.
Another thought… it might be fun to create an illustration that shows how all extensions relate to each other in one picture. Maybe we could recruit the artists that drew the hub illustrations here?
That makes sense. I think we should be totally ok updating this as things change to reflect reality, and mark the updates specifically at the bottom of the post as well.
That brings up a question I was wondering about - can we update this post over time as things evolve? And potentially link to it from places in the docs? I think this could really help clear some confusion about the jupyter ecosystem!
also @Zsailer I am excited about that technical decision!
Perhaps you could add it to Gitub somewhere, possibly with a table of contents and several repos, with binder links. Maybe they could each be done as a RISE slide show. Exercises and answers?
I’ve done some more editing, and have sent it as a draft to the Jupyter Blog! I’ll wait for other folks to edit it, and hopefully publish it early next week!