Blog post about various kinds of 'Jupyter' extensions

Continuing the discussion from Jupyter Telemetry System:

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.

Here’s a draft: https://medium.com/@yuvipanda/99-ways-to-extend-the-jupyter-ecosystem-11e5dab7c54

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.

8 Likes

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.

Thanks yuvi for writing this post!!

Glad it is useful, @consideRatio! It needs a little more completeness and a lot of editing before publishing :smiley: 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?

I think this would be a blog post useful to a lot of people -> should it be posted on the Jupyter blog instead?

Absolutely! I’m preparing it for the Jupyter blog - the ‘preview’ link has my name on it. My personal blog isn’t on medium either…

1 Like

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 :slight_smile:

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?

1 Like

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.

Yep, that would be awesome. I love maps like https://xkcd.com/256/ or https://xkcd.com/802/ or similar. It’ll also probably show how complex this ecosystem has become.

Now to try cut down the size of this post to a more manageable size… Deleting sentences you wrote seems more painful than deleting code you wrote…

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!

I think this is a good idea. Being a blog post allows it to be conversational which is important I think.

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!

Alert! I’m going to get this published tomorrow morning Pacific Time. Thanks to everyone who has chimed in so far! Please do now if you haven’t :slight_smile:

3 Likes

this post is now up! everybody check it out and share it :slight_smile:

1 Like