Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/millejoh/emacs-ipython-notebook
Jupyter notebook client in Emacs
https://github.com/millejoh/emacs-ipython-notebook
emacs-lisp jupyter-notebook
Last synced: 7 days ago
JSON representation
Jupyter notebook client in Emacs
- Host: GitHub
- URL: https://github.com/millejoh/emacs-ipython-notebook
- Owner: millejoh
- License: gpl-3.0
- Created: 2014-04-10T16:12:35.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-08-27T03:37:34.000Z (over 1 year ago)
- Last Synced: 2024-12-29T07:06:46.799Z (14 days ago)
- Topics: emacs-lisp, jupyter-notebook
- Language: Emacs Lisp
- Homepage: http://millejoh.github.io/emacs-ipython-notebook/
- Size: 7.98 MB
- Stars: 1,475
- Watchers: 44
- Forks: 123
- Open Issues: 44
-
Metadata Files:
- Readme: README.in.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - emacs-ipython-notebook - Jupyter notebook client in Emacs (Emacs Lisp)
README
==========================================================
EIN -- Emacs IPython Notebook |build-status| |melpa-dev|
==========================================================.. image:: https://github.com/dickmao/emacs-ipython-notebook/blob/master/thumbnail.png
:target: https://youtu.be/8VzWc9QeOxE
:alt: Kaggle Notebooks in AWS.. COMMENTARY (see Makefile)
.. |build-status|
image:: https://github.com/millejoh/emacs-ipython-notebook/workflows/CI/badge.svg
:target: https://github.com/millejoh/emacs-ipython-notebook/actions
:alt: Build Status
.. |melpa-dev|
image:: https://melpa.org/packages/ein-badge.svg
:target: http://melpa.org/#/ein
:alt: MELPA current version
.. _Jupyter: http://jupyter.org
.. _Babel: https://orgmode.org/worg/org-contrib/babel/intro.html
.. _Org: https://orgmode.org
.. _[tkf]: http://tkf.github.io
.. _[gregsexton]: https://github.com/gregsexton/ob-ipythonInstall
=======
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_.
.. _Cask: https://cask.readthedocs.io/en/latest/guide/installation.html
.. _Getting started: http://melpa.org/#/getting-startedFAQ
===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 DataOn 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... _Issues: https://github.com/millejoh/emacs-ipython-notebook/issues
.. _prevailing documentation: http://millejoh.github.io/emacs-ipython-notebook
.. _spacemacs layer: https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Blang/ipython-notebook
.. _company-mode: https://github.com/company-mode/company-mode
.. _jupyterhub: https://github.com/jupyterhub/jupyterhub
.. _elpy: https://melpa.org/#/elpy
.. _math-preview: https://gitlab.com/matsievskiysv/math-preview
.. _program modes: https://www.gnu.org/software/emacs/manual/html_node/emacs/Program-Modes.html
.. _undo boundaries: https://www.gnu.org/software/emacs/manual/html_node/elisp/Undo.htmlob-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_SRCThe ``: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.. _polymode: https://github.com/polymode/polymode
.. _ob-ipython: https://github.com/gregsexton/ob-ipython
.. _scimax: https://github.com/jkitchin/scimax
.. _jupyter kernel: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels.. _gat utility: https://dickmaogat.readthedocs.io/en/latest/install.html
.. _gat usage: https://dickmaogat.readthedocs.io/en/latest/usage.html
.. _batch mode: https://nbconvert.readthedocs.io/en/latest/execute_api.html
.. _dickmao/Kaggler: https://github.com/dickmao/Kaggler/tree/gcspath#importing-datasetsKeymap (C-h m)
==============::
.. KEYS NOTEBOOK (see Makefile)