[IPython-User] ipycli - command line support for notebooks

Brian Granger ellisonbg@gmail....
Thu Jul 12 11:35:15 CDT 2012


This is cool!  As Matthias mentioned, we strongly want to make the
notebook multi-directory aware.  One aspect of this that I want to
bring up is how to expose that in the UI.  The most obvious way of
doing it would be to implement a full blown directory browser that
allows you to walk the filesystem in the browser and manage notebook
in those directories.  But I have always felt like it would be a ton
of work to create a filesystem browser with a full set of features
like moving, renaming, move folders, etc.  Maybe we do need to do
that, but I am wondering if there might be a better way of doing it.
Your hack gives me some ideas...

It is not like users will have notebooks in all of the directories.
It is more like git - only certain directories will have notebooks.
Let's call each of those directories a "project".  In many cases, each
of these projects would also be a git repo.  What if we created a UI
around this idea:

* Add a new project dashboard that shows all of the users IPython
project directories.  When you click on one of them, you simply get
the existing dashboard that shows the notebooks for that project.
* In the project dashboard, there would be a "Add Project Directory"
button that would allow a user to enter a valid path to a new project.
* We could store the list of project directories in the config file
for that profile and create a magic for managing them and also a cli
("ipython notebook project create")
* Create a simple shell widget that allows users to do more complex
things with the file system, etc.  Why create an entire file system
browser when ls/cd/etc work just fine.
* Kernels for a project would be started in that project dir.
* URLs would be prefixed by the project name.

What do people think of this approach?



On Mon, Jul 9, 2012 at 10:24 AM, Dale Jung <dale@dalejung.com> wrote:
> Hi,
> Just wanted to share a project I started over the weekend. It's essentially
> the IPython notebook modified to support arbitrary pathed notebooks and
> directories. The idea being that you have one notebook server and add/create
> notebooks from the command line.
> The basic usage would be:
> nb add-dir some_directory # add the directory to the list of notebook_dirs
> nb note.ipynb # add a single notebook
> ipycli has two types of notebooks. Those that come from notebook dirs, which
> work like the normal Notebook except you can have multiple, and the pathed
> notebooks which only list the added notebook.
> Example:
> nb add-dir hello
> nb test4/wheee.ipynb
> https://img.skitch.com/20120709-jeduufmwer7gseek6w3xu21xex.jpg
> Caveats:
> while ipycli doesn't require modifying your ipython install, it was only
> tested again dev (@811283a)
> The nb script in bin assumes that your ipycli server is running locally and
> on port 8888. You can change that in the script.
> I turned on the stable guids, which means the notebook_id is stable as long
> as it's not renamed. I'm not sure what the implications of that are, but I'm
> ignoring the comment warning for the sake of convenience… for now.
> Dale Jung
> _______________________________________________
> IPython-User mailing list
> IPython-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-user

Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger@calpoly.edu and ellisonbg@gmail.com

More information about the IPython-User mailing list