[IPython-dev] Launching Jupyter Notebook Sharing on Quantopian

ssanderson ssanderson at quantopian.com
Wed Feb 11 13:30:51 EST 2015


Hi All,

At the dev meeting last week we talked a bit about the future of indexing
and sharing IPython/Jupyter notebooks publicly, and I mentioned that we've
been working on adding sharing of notebooks to Quantopian's research
platform alpha.  We launched that system this week, so I thought it might be
helpful to walk through our design as an example of what sharing might look
like in the main notebook project.  I'm also just super proud of our team
for building this and want to show off all their hard work :)

The backend is basically just nbconvert plus S3 bucket storage and some 
custom sanitization logic <https://github.com/ipython/ipython/pull/7595>  
to guard against XSS.  

The frontend consists of an nbextension that adds a share button to each
cell on mouseover.

<http://python.6.x6.nabble.com/file/n5085970/14.png> 

On hitting the share button we create a window where you can add a title and
description in markdown (the javascript for this is in the same
nbextension):

<http://python.6.x6.nabble.com/file/n5085970/36.png> 

Upon submission, we mark the shared cell as a "preview cell" in its metadata
and then post it to an NBConvert handler that creates a full HTML rendering
of the notebook, plus a stripped down preview of just the selected cell. 
These get stored in S3 and are used by our main application to create new
forum posts.  Here's an example of a notebook that we shared today with our
community:

https://www.quantopian.com/posts/research-investing-in-women-led-fortune-1000-companies

Thanks to the IPython/Jupyter team for building an amazing tool upon which
we can build something like this.  I'm incredibly excited to see how much
the project has progressed in the short time that I've been working on our
integration.

-Scott






--
View this message in context: http://python.6.x6.nabble.com/Launching-Jupyter-Notebook-Sharing-on-Quantopian-tp5085970.html
Sent from the IPython - Development mailing list archive at Nabble.com.



More information about the IPython-dev mailing list