{"id":13500370,"url":"https://github.com/tkf/emacs-ipython-notebook","last_synced_at":"2025-04-06T00:09:37.985Z","repository":{"id":3214694,"uuid":"4249308","full_name":"tkf/emacs-ipython-notebook","owner":"tkf","description":"IPython notebook client in Emacs","archived":false,"fork":false,"pushed_at":"2015-03-21T02:29:28.000Z","size":5416,"stargazers_count":548,"open_issues_count":91,"forks_count":51,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-03-27T20:19:56.739Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"tkf.github.com/emacs-ipython-notebook/","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tkf.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-05-07T12:32:26.000Z","updated_at":"2025-03-23T05:46:13.000Z","dependencies_parsed_at":"2022-08-23T14:00:25.817Z","dependency_job_id":null,"html_url":"https://github.com/tkf/emacs-ipython-notebook","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Femacs-ipython-notebook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Femacs-ipython-notebook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Femacs-ipython-notebook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkf%2Femacs-ipython-notebook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkf","download_url":"https://codeload.github.com/tkf/emacs-ipython-notebook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415967,"owners_count":20935387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T22:00:57.691Z","updated_at":"2025-04-06T00:09:37.964Z","avatar_url":"https://github.com/tkf.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"==============================================\n EIN -- Emacs IPython Notebook |build-status|\n==============================================\n\n  --- or **E**\\ IN **I**\\ s not only for **N**\\ otebooks.\n\n\n.. note:: It is stable enough for my day to day work, but I can't\n          guarantee the safety for your notebook data.  So please make\n          sure you have backup.\n\n.. |build-status|\n   image:: https://secure.travis-ci.org/tkf/emacs-ipython-notebook.png\n           ?branch=master\n   :target: http://travis-ci.org/tkf/emacs-ipython-notebook\n   :alt: Build Status\n\n\nScreenshot\n==========\n\n.. figure:: https://github.com/tkf/emacs-ipython-notebook/raw/data/screenshots/notebook_simple_plot.png\n   :alt: Plotting in Emacs IPython Notebook\n\nSee `more \u003chttps://github.com/tkf/emacs-ipython-notebook/wiki/Screenshots\u003e`_!\n\nFeatures\n========\n\nEmacs IPython Notebook (EIN) provides a IPython Notebook client and\nintegrated REPL (like SLIME_) in Emacs.  While EIN makes notebook\nediting very powerful by allowing you to use any Emacs features, it\nalso expose IPython features such as code evaluation, object\ninspection and code completion to the Emacs side.  These features can\nbe accessed anywhere in Emacs and improve Python code editing and\nreading in Emacs.\n\n.. _SLIME: http://common-lisp.net/project/slime/\n\nHighlighted features:\n\n* Copy/paste cells, even to/from different notebooks.\n* Console integration: You can easily connect to kernel via console\n  application.  This enables you to start debugging in the same\n  kernel.  It is even possible to connect console over ssh.\n* IPython kernel can be \"connected\" to any buffers.  This enables you\n  to evaluate buffer/region using same kernel as notebook.  Notebook\n  goodies such as tooltip help, help browser and code completion are\n  available in these buffers.\n* Jump to definition (go to the definition by hitting ``M-.`` over an\n  object).\n\nOther notebook features:\n\n* Inline images\n* Auto/manual-completion\n* Popup (tooltip) help\n* Syntax highlighting in each cell types (Python/Markdown)\n* Help browser (opens when executing ``function?``)\n* Traceback viewer\n\nLinks:\n\n* `Online Documentation\n  \u003chttp://tkf.github.com/emacs-ipython-notebook/\u003e`_\n\n* `Wiki\n  \u003chttps://github.com/tkf/emacs-ipython-notebook/wiki\u003e`_\n\n  + `Screenshots\n    \u003chttps://github.com/tkf/emacs-ipython-notebook/wiki/Screenshots\u003e`_\n  + `Tips\n    \u003chttps://github.com/tkf/emacs-ipython-notebook/wiki/Tips\u003e`_\n\n* `Downloads\n  \u003chttps://github.com/tkf/emacs-ipython-notebook/tags\u003e`_\n* `Repository at GitHub\n  \u003chttps://github.com/tkf/emacs-ipython-notebook\u003e`_\n* `Issue Tracker at GitHub\n  \u003chttps://github.com/tkf/emacs-ipython-notebook/issues\u003e`_\n\n\nQuick try\n=========\n\nThis is a quick and clean way to try EIN separately from your Emacs\nsetting.  If you want to try EIN but think preparing all the\nrequirements is too much, try this!::\n\n   git clone git://github.com/tkf/emacs-ipython-notebook.git\n   cd emacs-ipython-notebook/\n   lisp/zeroein.el\n\nThis will launch a new Emacs instance.\n\nYou can use environment variable ``EMACS`` to control Emacs executable\nto use.::\n\n   EMACS=emacs-snapshot lisp/zeroein.el\n\nThe above command requires /bin/sh.  If the above command does not work\n(e.g., you are using MS Windows), try the following command::\n\n  emacs -Q -l lisp/zeroein.el\n\n\nRequirements\n============\n\n* IPython_ 0.12 or higher.\n* `websocket.el`_ 0.9\n* `request.el`_ \u003e= 0.2\n* (optional) mumamo_ developmental version:\n  It will be automatically loaded when it is on the path.\n  The official way to setup path is to load nXhtml_.\n* (optional) markdown-mode\n* (optional) python-mode:\n  It should work with either python.el or python-mode.el.\n  Fabian Gallina's `python.el`_ is required to use\n  ``ein:console-open`` command.\n* (optional) `auto-complete.el`_\n  You need to configure subpackage ``ein-ac`` to enable\n  this feature.\n* (optional) `smartrep.el`_:\n  This package enables you to omit typing prefix keys (e.g.,\n  ``C-c C-n C-n C-n ...`` instead of ``C-c C-n C-c C-n C-c C-n ...``).\n  You need to configure subpackage ``ein-smartrep`` to enable\n  this feature.\n\nAlso, EIN heavily relies on standard Emacs libraries including EWOC,\nEIEIO and json.el.  EIN is currently tested against Emacs 23.3 and 24.3.\nIt is known to work in Emacs 23.2, 24.1 and 24.2.\n\n.. _IPython: http://ipython.org/\n.. _websocket.el: https://github.com/ahyatt/emacs-websocket\n.. _request.el: https://github.com/tkf/emacs-request\n.. _mumamo: http://www.emacswiki.org/emacs/MuMaMo\n.. _nXhtml: http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html\n.. _python.el: https://github.com/fgallina/python.el\n.. _auto-complete.el: http://cx4a.org/software/auto-complete/\n.. _smartrep.el: https://github.com/myuhe/smartrep.el\n\n\nUsage\n=====\n\n1. Install module.\n   Put Emacs lisp ``ein*.el`` files and Python file ``ein.py`` in your\n   load path.  See `online documentation`_ for more information.\n\n2. Require module::\n\n     (require 'ein)\n\n3. Start `IPython notebook server`_.\n\n4. Hit ``M-x ein:notebooklist-open`` to open notebook list.\n\n.. _`IPython notebook server`:\n   http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html\n\n\nSubpackages\n-----------\n\nEnable `auto-complete.el`_::\n\n   (setq ein:use-auto-complete t)\n   ;; Or, to enable \"superpack\" (a little bit hacky improvements):\n   ;; (setq ein:use-auto-complete-superpack t)\n\nEnable `smartrep.el`_::\n\n   (setq ein:use-smartrep t)\n\n\nKeybinds - Notebook\n-------------------\n\n.. (ein:dev-insert-mode-map \"\\\\{ein:notebook-mode-map}\")\n\n::\n\n   key             binding\n   ---             -------\n\n   C-c             Prefix Command\n   C-x             Prefix Command\n   ESC             Prefix Command\n   .               ein:notebook-complete-dot\n   C-:             ein:shared-output-eval-string\n   \u003cC-down\u003e        ein:worksheet-goto-next-input\n   \u003cC-up\u003e          ein:worksheet-goto-prev-input\n   \u003cM-S-return\u003e    ein:worksheet-execute-cell-and-insert-below\n   \u003cM-down\u003e        ein:worksheet-move-cell-down\n   \u003cM-up\u003e          ein:worksheet-move-cell-up\n\n   C-x C-s         ein:notebook-save-notebook-command\n   C-x C-w         ein:notebook-rename-command\n\n   M-RET           ein:worksheet-execute-cell-and-goto-next\n   M-,             ein:pytools-jump-back-command\n   M-.             ein:pytools-jump-to-source-command\n   M-n             ein:worksheet-next-input-history\n   M-p             ein:worksheet-previous-input-history\n\n   C-c C-a         ein:worksheet-insert-cell-above\n   C-c C-b         ein:worksheet-insert-cell-below\n   C-c C-c         ein:worksheet-execute-cell\n   C-c C-e         ein:worksheet-toggle-output\n   C-c C-f         ein:pytools-request-tooltip-or-help\n   C-c TAB         ein:completer-complete\n   C-c C-k         ein:worksheet-kill-cell\n   C-c C-l         ein:worksheet-clear-output\n   C-c RET         ein:worksheet-merge-cell\n   C-c C-n         ein:worksheet-goto-next-input\n   C-c C-o         ein:console-open\n   C-c C-p         ein:worksheet-goto-prev-input\n   C-c C-q         ein:notebook-kill-kernel-then-close-command\n   C-c C-r         ein:notebook-restart-kernel-command\n   C-c C-s         ein:worksheet-split-cell-at-point\n   C-c C-t         ein:worksheet-toggle-cell-type\n   C-c C-u         ein:worksheet-change-cell-type\n   C-c C-v         ein:worksheet-set-output-visibility-all\n   C-c C-w         ein:worksheet-copy-cell\n   C-c C-x         ein:tb-show\n   C-c C-y         ein:worksheet-yank-cell\n   C-c C-z         ein:notebook-kernel-interrupt-command\n   C-c ESC         Prefix Command\n   C-c !           ein:worksheet-rename-sheet\n   C-c +           ein:notebook-worksheet-insert-next\n   C-c -           ein:notebook-worksheet-delete\n   C-c 1           ein:notebook-worksheet-open-1th\n   C-c 2           ein:notebook-worksheet-open-2th\n   C-c 3           ein:notebook-worksheet-open-3th\n   C-c 4           ein:notebook-worksheet-open-4th\n   C-c 5           ein:notebook-worksheet-open-5th\n   C-c 6           ein:notebook-worksheet-open-6th\n   C-c 7           ein:notebook-worksheet-open-7th\n   C-c 8           ein:notebook-worksheet-open-8th\n   C-c 9           ein:notebook-worksheet-open-last\n   C-c {           ein:notebook-worksheet-open-prev-or-last\n   C-c }           ein:notebook-worksheet-open-next-or-first\n   C-c C-S-l       ein:worksheet-clear-all-output\n   C-c C-#         ein:notebook-close\n   C-c C-'         ein:worksheet-turn-on-autoexec\n   C-c C-,         ein:pytools-jump-back-command\n   C-c C-.         ein:pytools-jump-to-source-command\n   C-c C-/         ein:notebook-scratchsheet-open\n   C-c C-;         ein:shared-output-show-code-cell-at-point\n   C-c \u003cdown\u003e      ein:worksheet-move-cell-down\n   C-c \u003cup\u003e        ein:worksheet-move-cell-up\n\n   C-c M-+         ein:notebook-worksheet-insert-prev\n   C-c M-w         ein:worksheet-copy-cell\n   C-c M-{         ein:notebook-worksheet-move-prev\n   C-c M-}         ein:notebook-worksheet-move-next\n\n.. // KEYS END //\n\n\nKeybinds - Connect\n------------------\n\nIn Python (or any other) buffer, you can connect to any open notebook\nby ``M-x ein:connect-to-notebook`` then choose appropriate notebook.\nAfter connecting to the notebook (and hence its kernel), the following\ncommands are available.\n\n.. (ein:dev-insert-mode-map \"\\\\{ein:connect-mode-map}\")\n\n::\n\n   key             binding\n   ---             -------\n\n   C-c             Prefix Command\n   ESC             Prefix Command\n   .               ein:completer-dot-complete\n   C-:             ein:shared-output-eval-string\n\n   M-,             ein:pytools-jump-back-command\n   M-.             ein:pytools-jump-to-source-command\n\n   C-c C-a         ein:connect-toggle-autoexec\n   C-c C-c         ein:connect-run-or-eval-buffer\n   C-c C-f         ein:pytools-request-tooltip-or-help\n   C-c TAB         ein:completer-complete\n   C-c C-l         ein:connect-reload-buffer\n   C-c C-o         ein:console-open\n   C-c C-r         ein:connect-eval-region\n   C-c C-x         ein:tb-show\n   C-c C-z         ein:connect-pop-to-notebook\n   C-c C-,         ein:pytools-jump-back-command\n   C-c C-.         ein:pytools-jump-to-source-command\n   C-c C-/         ein:notebook-scratchsheet-open\n\n.. // KEYS END //\n\n\nLicense\n=======\n\nEmacs IPython Notebook is licensed under GPL v3.\nSee COPYING for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkf%2Femacs-ipython-notebook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkf%2Femacs-ipython-notebook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkf%2Femacs-ipython-notebook/lists"}