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.
When there is a python error, we actually get two identical tracebacks back
from the kernel, one from the "shell" channel, and one from the "iopub"
channel. As a workaround, we remember the cell's traceback and ignore
traceback outputs that are identical to the one we already have.
Protocol for error reporting has changed in IPython 3.0 messaging and
ein was missing error messages.
EIN was also saving "*" for the notebook execution count and per
nbformat v4 execute_count can only be null or a number.
Compiling ein when nxhtml is not installed causes an error when
compiling ein-mumamo.el. Since it seems unreasonable to force mumamo as
a dependency (it is not in MELPA) better to move mumamo support to its
own, optional package.
Also some long overdue upates to documentation.
As an added bonus you should be able to move notebooks to different
directories in the notebook hierarchy. Not tested, though, so I'm not
sure how well that works.
Export contents of notebook using nbconvert_ to user-specified format
\(options will depend on the version of nbconvert available\) to a new
buffer.
Currently EIN/IPython supports exporting to the following formats:
- HTML
- JSON (this is basically the sames opening the ipynb file in a buffer).
- Latex
- Markdown
- Python
- RST
- Slides
.. _nbconvert:
http://ipython.org/ipython-doc/stable/notebook/nbconvert.html
Also making ein.py compatible with IPython 3.
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).
The message format for execute_reply payloads has changed. Seems the API
for this is still not finalized, but at least the pager works when I do
things like `object_name?`.
With IPython 3.0 we now support multiplexed communication over a single
websocket. At the moment iopub and shell are supported; stdin doesn't
seem to be working yet (not sure if it needs to be, though).
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.
ein was incorrectly writing empty metadata as a Null object, which was
causing errors in ipython.
Added a helper function to write json encoding of a notebook to a
temporary buffer to help debug code for encoding nbformat4 json from
cell data.