[IPython-dev] NotebookManager API

Doug Blank doug.blank at gmail.com
Wed Jan 29 07:55:31 EST 2014


On Wed, Jan 29, 2014 at 5:40 AM, Konrad Hinsen
<konrad.hinsen at fastmail.net> wrote:
> 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.

I hadn't seen this either. Thanks, Konrad, for making and sharing this
exploration!

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

Great idea; I will try to do the same. These types of
re-representations (especially in different languages) reveal a host
of assumptions. For example, I found my C# implementation of iso dates
had one too many decimal digits, and caused the Python interpreter to
crash.  I would especially like to see concrete examples of messages
in the documentation. If nothing else, it will make more obvious what
needs to be explained in the text.

(I don't want to sound too critical... I love the IPython system! But
there are certain places that can be improved, and I'm willing to
help. I do hope that a core developer will at some point examine your
simple manager (and the simple kernel) to give feedback about invalid
assumptions, or suggestions to make it better.)

Thanks again,

-Doug

> Comments from you and the other core developers are more than welcome!
>
> Konrad.
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev



More information about the IPython-dev mailing list