Skip to content

Latest commit

 

History

History
147 lines (104 loc) · 4.84 KB

README.in.rst

File metadata and controls

147 lines (104 loc) · 4.84 KB

EIN -- Emacs IPython Notebook Build Status MELPA current version

Kaggle Notebooks in AWS

Install

As described in Getting started, ensure melpa's whereabouts in init.el or .emacs:

(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))

Then

M-x package-install RET ein RET

Alternatively, directly clone this repo and make install.

For jupyterlab 3.0+, reconfigure the subcommand from "notebook" to "server".

M-x customize-option RET ein:jupyter-server-use-subcommand RET

Usage

Start EIN using ONE of the following:

  • Open an .ipynb file, press C-c C-o, or,
  • M-x ein:run launches a jupyter process from emacs, or,
  • M-x ein:login to a running jupyter server, or,

M-x ein:stop prompts to halt local and remote jupyter services.

Alternatively, ob-ein.

FAQ

How do I...

... report a bug?

Note EIN is tested only for released GNU Emacs versions .. CI VERSION (see Makefile) and later. Pre-release versions will not work.

First try emacs -Q -f package-initialize -f ein:dev-start-debug and reproduce the bug. The -Q skips any user configuration that might interfere with EIN.

Then file an issue using M-x ein:dev-bug-report-template.

... display images inline?

We find inserting images into emacs disruptive, and so default to spawning an external viewer. To override this,

M-x customize-group RET ein
Ein:Output Area Inlined Images
... configure the external image viewer?
M-x customize-group RET mailcap
Mailcap User Mime Data

On a typical Linux system, one might configure a viewer for MIME Type image/png as a shell command convert %s -background white -alpha remove -alpha off - | display -immutable.

... get IDE-like behavior?
You can't. EIN's architecture is fundamentally incompatible with LSP.

ob-ein

Configuration:

M-x customize-group RET org-babel
Org Babel Load Languages:
  Insert (ein . t)
  For example, '((emacs-lisp . t) (ein . t))

Snippet:

#+BEGIN_SRC ein-python :session localhost
  import numpy, math, matplotlib.pyplot as plt
  %matplotlib inline
  x = numpy.linspace(0, 2*math.pi)
  plt.plot(x, numpy.sin(x))
#+END_SRC

The :session is the notebook url, e.g., http://localhost:8888/my.ipynb, or simply localhost, in which case org evaluates anonymously. A port may also be specified, e.g., localhost:8889.

Language can be ein-python, ein-r, or ein-julia. The relevant jupyter kernel must be installed before use. Additional languages can be configured via:

M-x customize-group RET ein
Ob Ein Languages

Keymap (C-h m)

.. KEYS NOTEBOOK (see Makefile)