Skip to content

CodeFiction/nteract

 
 

nteract nteract animated logo

Build Status Build status codecov.io Documentation Coverage slack in

Users | Contributors and Development | Maintainers

Overview

Edit code cells, write markdown, visualize!

nteract geojson

Note: There will be 🐛s and quirks. Please come tell us about them!

nteract is a literate coding environment that supports Python, R, JavaScript and other Jupyter kernels. It wraps up the best of the web based Jupyter notebook and embeds it as a desktop application that allows you to open notebooks natively on your system. Double click a .ipynb on the desktop, use Spotlight on the Mac. It Just Works™

Scope and goals

  • Notebook environment to explore and get things done ✅
  • Standalone cross-platform desktop application ✅
  • One notebook document/narrative per window ✅
  • Work with any Jupyter kernel using message spec v5 ✅
  • Easy install with pre-configured Python3 and JavaScript runtimes ❌
  • Grow an ecosystem of tooling to allow others to build their own platforms relying on the Jupyter specifications 🔜

Installation - Users

Head to the Releases page and download the version for your OS.

Installation - Contributors and Development

The contributors are listed in contributors

To learn how to contribute, head to our contributing guide.

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to rgbkrk@gmail.com.

Feel free to post issues or chat in Slack if you need help or have questions. If you have trouble creating an account on slack, either email rgbkrk@gmail.com or post an issue on GitHub.

Development

To get started developing install a python runtime then install nteract in dev mode.

Python runtime

At least for now, we need the python 3 kernel installed when hacking on nteract:

python3 -m pip install ipykernel
python3 -m ipykernel install --user

Install nteract in dev mode

Requires node 6.x and npm 3.

Prerequisites for Linux

  • python (v2.7 recommended, v3.x.x is not supported)
  • make
  • A proper C/C++ compiler toolchain, like GCC

Use your distribution's package manager to install.

Prerequisites for macOS

  • python (v2.7 recommended, v3.x.x is not supported): already installed on Mac OS X
  • Xcode Command Line Tools: Can be installed with xcode-select --install

Prerequisites for Windows

  • Option 1: Install all the required tools and configurations using Microsoft's windows-build-tools by running npm install -g windows-build-tools from an elevated PowerShell (run as Administrator).

  • Option 2: Install dependencies and configuration manually

    1. Visual C++ Build Environment:
    • Option 1: Install Visual C++ Build Tools using the Default Install option.
    • Option 2: Install Visual Studio 2015 (or modify an existing installation) and select Common Tools for Visual C++ during setup.

    💡 [Windows Vista / 7 only] requires .NET Framework 4.5.1

    1. Install Python 2.7 or Miniconda 2.7 (v3.x.x is not supported), and run npm config set python python2.7
    2. Launch cmd, npm config set msvs_version 2015
Now you're ready to build!
  1. Fork this repo
  2. Clone it git clone https://github.com/nteract/nteract
  3. cd to where you cloned it
  4. npm install
  5. npm run start

As you make changes, close the entire app (cmd-q on OS X, or ctrl-c at the terminal) then run npm run start again.

Build Documentation

You can run nteract's documentation generator by running

npm run build:docs

And then opening docs/index.html in your favorite browser.

Troubleshooting

I upgraded my developer installation and things are broken!

  • Try $ rm -rf node_modules then $ npm install

For maintainers: Creating a release

Bump the version

cd app
npm version {major|minor|patch}
cd ..
git push
git push --tags

Create the package

To package a release run:

npm run dist

This needs to be done on every platform we like to ship.

The OS X release has to be signed with an Apple developer key. Currently only Kyle (@rgbkrk) has this set up.

Then verify that the copy of nteract in dist/ works properly (mostly ad-hoc basic notebook loading and execution).

Sponsors

Work on the nteract notebook is currently sponsored by

Plotly

Domino Data Lab

We're on a common mission to build a great notebook experience. Feel free to get in touch if you'd like to help. Resources go towards paying for additional work by seasoned designers and engineers.

Made possible by

The nteract project was made possible with the support of

Carina by Rackspace.

If your employer allows you to work on nteract during the day and would like recognition, feel free to add them to the "Made possible by" list.

About

📓 Interactive literate coding notebook!

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 63.1%
  • Jupyter Notebook 30.4%
  • CSS 5.5%
  • Other 1.0%