IPYNB Viewer



  1. Ipynb Viewer Online
  2. Ipynb Viewer App
  3. How To View A Ipynb File
IPYNB Viewer

The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media. Recommended software programs are sorted by OS platform (Windows, macOS, Linux, iOS, Android etc.) and possible program actions that can be done with the file: like open ipynb file, edit ipynb file, convert ipynb file, view ipynb file, play ipynb file etc. (if exist software for corresponding action in File-Extensions.org's database). The IPython Notebook is now known as the Jupyter Notebook. Computational environment, in which you can combine code execution, rich text, mathematics, plots and rich media. For more details on the Jupyter Notebook, please see the Jupyterwebsite.

A package that works like the Jupyter Notebook, but inside Atom. It's registered as an opener for .ipynb files — try opening one!

Install

  1. Install dependencies:
OS X
  • Python 3: brew install python3 (there are issues with pip2 and OS X 10.11)
  • Jupyter and Jupyter Kernel Gateway: pip3 install jupyter jupyter_kernel_gateway
Linux (Debian)
  • Python: sudo apt-get install python python-pip
  • Jupyter and Jupyter Kernel Gateway: pip install jupyter jupyter_kernel_gateway
  1. apm install jupyter-notebook or search for jupyter-notebook inside of Atom

Usage

  • Run cell: SHIFT+ENTER, CMD+ENTER (or CTRL+ENTER on Windows)

Developers

Install

  1. git clone https://github.com/jupyter/atom-notebook.git
  2. apm install
  3. apm link
Ipynb viewer github

Achitecture

This package is built on React and the Flux architecture.

Map

  • main tells Atom how to render NotebookEditor and registers as an Opener for .ipynb files
  • dispatcher is a singleton flux.Dispatcher which contains the list of valid actions
  • notebook-editor is the Store and handles all of the business logic. It loads the file in, creates a state, then receives Actions and updates the state accordingly.
  • notebook-editor-view, notebook-cell, text-editor, display-area are the views. notebook-editor-view updates its state by fetching it from notebook-editor, then passes appropriate bits of that state down to the other views as props.
IPYNB Viewer

Flow

Rendering:NotebookEditor -> NotebookEditorView -> [child views]

Updating:[external action] -> Dispatcher.dispatch -> NotebookEditor.onAction ?-> NotebookEditor._onChange -> NotebookEditorView._onChange

Immutable state

The state returned by NotebookEditor.getState is an Immutable.js object.

Accessing its properties inside a view looks like this:

Changing it (in NotebookEditor) looks like this:

Ipynb Viewer Online

or this:

Since React requires a view's state to be a regular JS object, the state of NotebookEditorView takes the form:

No other views have state.

Ipynb Viewer App

To do

How To View A Ipynb File

  • autocomplete
    • atom.workspace.getActiveTextEditor() returns undefined because atom.workspace.getActivePaneItem() returns our custom NotebookEditor class which contains one or more TextEditors, therefore autocomplete, find, and features provided by other packages don't work in cells
  • add more actions (duplicate cell, restart kernel, change cell type, etc)
  • tell React our rendering is pure
  • test rendering performance with big notebooks