[IPython-dev] NotebookManager API

Konrad Hinsen konrad.hinsen at fastmail.net
Wed Jan 29 05:40:15 EST 2014


Brian,

Thanks for your comments, which were very helpful for me. In particular the
pointer to IPEP 16 - I didn't even know about IPEPs.

 > While the backend doesn't need to be a filesystem, it does need to
 > have the same abstractions:
 > 
 > * /paths/like/this
 > * filesname
 > * filename extensions

That's fine, but it would be nice to have the exact properties of the
abstractions written down somewhere. Imitating basic filesystem
abstractions is always doable, but I wouldn't like to implement a
complete POSIX layer just to make sure I am not missing anything.

Currently the NotebookManager base class uses functions from os.path
to work on its own abstractions for paths and names. Considering that
os.path is platform-dependent, this looks like a strange approach.

 > We don't have anything on NotebookManager per-se, but the above IPEP
 > will describe things from a conceptual perspective and how all it maps
 > onto URLs.

That's indeed quite useful. What's still missing is a clear statement
about notebook names: do they include the extension .ipynb or not?
My overall conclusion is "yes", but this isn't written down anywhere
unambiguously, and there is code in NotebookManager that doesn't
respect this rule (at least increment_filename()).

I am collecting all my observations of this kind on a GitHub issue:

  http://github.com/khinsen/simple_notebook_manager/issues/1

Comments from you and the other core developers are more than welcome!

Konrad.



More information about the IPython-dev mailing list