[IPython-dev] Developing a MOOC with IPython notebooks

William Stein wstein at gmail.com
Mon Dec 22 13:39:36 EST 2014


I just (seconds ago) added the ability to publish IPython notebooks
from SageMathCloud (https://cloud.sagemath.com).  I've posted a quick
video I just made for you here illustrating how it works:


   1. Create a SageMathCloud account, a new project, and upload or
create an ipython notebook.
   2. Click the "Publish" button in the upper right corner of the
IPython notebook.
   3. Share the link.
... or ...
  Since SageMathCloud projects *are* just full Linux accounts, you can
use the Terminal via +New --> Terminal, or just ssh in (as explained
in project settings), then directly run nbconvert with whatever
options you want.    Click the "i" to the left of any file or
directory tree to make it public.

SageMathCloud is kind of like http://tmpnb.org/, except it is a lot
less "tmp" -- every project is persistent, snapshotted every few
minutes (using bup), and there is chat, collaborators, simultaneous
editing for documents, etc.   It's all open source now [1], though the
free hosted environment itself is very powerful (with 19 dedicated
servers plus cloud compute resources).  We frequently had around 800
simultaneous running projects around finals recently...

[1] https://github.com/sagemath/cloud


On Mon, Dec 22, 2014 at 9:53 AM, Andrew Odewahn <odewahn at oreilly.com> wrote:
> Hi, Anton.  I've been working on something along a similar line: running a
> Notebook kernel in a Docker container via tmpnb and then connecting to it
> via a widget.  This presentation has some of the details:
> http://odewahn.github.io/publishing-workflows-for-jupyter/#1
> Like Cyrille Rossant's work, it's still very experimental, but I've been
> pleased with the results so far.  The biggest issues have been around
> getting it running for version 2 of the Notebook (currently it only works
> for version 1) and getting the CORS headers set up for tmpnb.
> Andrew
> ps -- here are a few examples of the output.  (It only works in Chrome right
> now due to the CORS issues):
> http://sites.oreilly.com/odewahn/ipython-tutorial2/ch01.html
> http://sites.oreilly.com/odewahn/jem-test/ch01.html
> On Mon, Dec 22, 2014 at 11:47 AM, Cyrille Rossant
> <cyrille.rossant at gmail.com> wrote:
>> Hi Anton,
>> > * What are the best practices for keeping notebooks in git? We've
>> > found nbdiff, but it seems limited: for example it doesn't do anything
>> > to diff markdown cells. Is there a better way?
>> I am currently working on a solution that basically replaces JSON
>> .ipynb by regular Markdown .md. You loose all metadata and outputs,
>> but you keep Markdown cells and the input of code cells. It is still
>> highly experimental and unstable, you'll find the code here:
>> https://github.com/rossant/ipymd/tree/support-atlas -- let me know if
>> you're interested in trying it out or contributing.
>> > * What are the current options for creating rich graphic content that
>> > doesn't rely on having a live kernel? I know of mpld3, ipywidgets, and
>> > bokeh. For us ipywidgets seem like the best solution so far, but it's
>> > a pet project of Jake Vanderplas that didn't see any action in around
>> > half a year. So I wonder if there is anything more alive in that
>> > respect, that'd be great. Perhaps in v3?
>> I'm also very interested in this use case, but as far as I know
>> there's nothing ready yet... We plan to support this in VisPy, but we
>> haven't started to work on it yet.
>> I suppose you could work something out based on tmpnb.org -- you get a
>> temporary live kernel in the cloud launched just for you.
>> Cyrille
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

William Stein
Professor of Mathematics
University of Washington

More information about the IPython-dev mailing list