Stopping a kernel now doesn't automatically close a buffer, nor does
closing a buffer automatically stop a running kernel. This is
functionality more in line of what EIN supported for IPython 0.x and
1.x.
Get ein:junk-new working again under IPython 2.x.
Some non-related work on fixing `ein:pytools-export-buffer`. Not quite
there yet, but I have an idea of what is going on.
Work in progress.
Lots and lots of changes trying to clean up code so there are not so
many checks of IPython version. Also a significant amount of refactoring
all notebook server requests code to ein-contents-api.
Also moving away from notebook-id concept; instead use notebook path to
uniquely identify notebooks/content.
Made `ein:query-ipython-version` more efficient by caching results.
Start of a refactor of code for accessing Jupyter's new contents API.
First up an implementation of list contents.
New function for flattening lists borrowed from cl-alexandria (how did
we survive withoutthis in the before times?)
Updating author list here and there.
When creating a new notebook pass some additional json so IPython
knows we want to create a notebook, and not a file or directory (this
was causing problems with IPython-dev).
Call `(ein:notebooklist-reload)` to automatically refresh the
notebooklist buffer when a notebook is opened or stopped so those
helpful [Stop] widgets appear and disappear as needed.
The notebooklist buffer will give option of "stopping" running kernels,
similar to feature in the browser UI. In EIN stopping a kernel also
means kill the buffer the kernel is connected to.
IPython 2.x+ has a JSON response when creating a new notebook. We detect
this and correctly parse the info so we can open a buffer with the newly
created notebook.
Also more updating of test code.
BEWARE! This is a large commit and the code here is still mostly
untested. Back up your notebooks before giving this changeset a try with
the current IPython-dev version.
Given that, ein is now able to open and save basic notebooks saved in
nbformat 4. Still haven't tested more complex notebooks with embedded
images.
Fixed bug in accessing directories a depths greater than 1 level.
Some initial support for IPython 3.0 and IPEP 27. Can open notebooklists
and notebooks, but having some issues connecting to websocket.
Renaming notebooks is functional, apparently, but code needs more
testing. I am concerned that the PATCH request is not generating a 200
response code as it should be (and does when I test under Python).
Also some preliminary code to provide breadcrumbs in notebooklist
buffer.
Corrected error in response code checking when saving a network (IPython
server now returns 200 instead of 204).
Cleaned up error that was being raised from EIN's notification system.
Seems like there is some logic for popping to a buffer once a
notification event first, but to what buffer is unclear so for know I
have disabled that functionality.
Increased support for IPEP 16: Notebook multi-directory dashboard and
URL mapping. The ein:notebooklist buffer will show subdirectories, which
can be opened by user. Does not support going back up in the hierarchy,
however.
Not fully tested, so use with caution!
Basic, mostly untested support for the brave new world of IPython 2.0.
2.0 now supports the concepts of 'paths', letting notebooks be stored in
a directory hierarchy. This has resulted in a change in the web API -
most URL's are now prefixed with 'api/'.
EIN does not (yet) support hierarchical notebooks, but at least it now
plays better with the new URL scheme for iPython 2.0.
Oh, there also seems to have been a change in the format of the ipython
notebook. This has been fixed too, but is probably bakcwards
incompatible.
* The url.el bug 12374 is fixed and request.el provides
monkey patch. There is no need for the workaround now.
* request-response-redirects does not exist anymore.