Top Related Projects
Jupyter Interactive Notebook
Visual Studio Code
JupyterLab computational environment.
Streamlit — A faster way to build and share data apps.
Data Apps & Dashboards for Python. No JavaScript Required.
Quick Overview
nteract is an open-source, interactive computing suite that provides a modern interface for creating and sharing notebooks. It aims to enhance the Jupyter ecosystem by offering a desktop application, web-based components, and SDKs for building interactive computing experiences.
Pros
- User-friendly interface with a focus on modern design and usability
- Supports multiple programming languages and kernels
- Extensible architecture allowing for custom components and plugins
- Seamless integration with existing Jupyter workflows and file formats
Cons
- May have a steeper learning curve for users accustomed to traditional Jupyter notebooks
- Some features may be less mature compared to the classic Jupyter Notebook
- Desktop application requires installation, unlike web-based alternatives
- Community and ecosystem are smaller compared to more established notebook platforms
Code Examples
- Creating a new notebook programmatically:
import { NotebookApp } from "@nteract/notebook-app-component";
import { createContentRef } from "@nteract/core";
const contentRef = createContentRef();
const kernelRef = createKernelRef();
<NotebookApp
contentRef={contentRef}
kernelRef={kernelRef}
contentType="notebook"
/>
- Rendering a cell output:
import { Output } from "@nteract/outputs";
const output = {
output_type: "display_data",
data: {
"text/plain": "Hello, nteract!",
"text/html": "<h1>Hello, nteract!</h1>"
}
};
<Output output={output} />
- Creating an interactive widget:
import { createWidget } from "@nteract/widgets";
const slider = createWidget("IntSlider", { value: 50, min: 0, max: 100 });
slider.observe(value => {
console.log(`Slider value: ${value}`);
});
<div>{slider.render()}</div>
Getting Started
To get started with nteract, follow these steps:
-
Install nteract desktop application:
- Download from https://nteract.io/desktop
- Or use package managers:
brew cask install nteract
(macOS) orchoco install nteract
(Windows)
-
For web development, install nteract components:
npm install @nteract/notebook-app-component @nteract/outputs @nteract/core
-
Create a new notebook or open an existing one using the nteract desktop app.
-
To use nteract components in a web application, import and use them in your React components as shown in the code examples above.
Competitor Comparisons
Jupyter Interactive Notebook
Pros of Notebook
- More established and widely adopted in the data science community
- Extensive ecosystem of extensions and integrations
- Supports a broader range of programming languages
Cons of Notebook
- User interface can be less intuitive for beginners
- Requires separate installation of Jupyter and dependencies
- Can be slower to start up and load notebooks
Code Comparison
Notebook (Python):
from IPython.display import display, HTML
display(HTML("<h1>Hello Jupyter!</h1>"))
nteract (JavaScript):
import { Display } from "@nteract/display-area";
<Display data={{ "text/html": "<h1>Hello nteract!</h1>" }} />;
Both projects aim to provide interactive notebook experiences, but nteract focuses on a more modern, desktop-based approach with a sleeker interface. Notebook offers a web-based solution with broader language support and a larger ecosystem. nteract may be more appealing to those seeking a native desktop experience, while Notebook remains the go-to choice for many data scientists and researchers due to its widespread adoption and extensive features.
Visual Studio Code
Pros of VS Code
- Broader language support and extensive ecosystem of extensions
- More comprehensive integrated development environment (IDE) features
- Larger community and more frequent updates
Cons of VS Code
- Heavier resource usage, potentially slower on older hardware
- Steeper learning curve for new users due to extensive features
Code Comparison
VS Code (settings.json):
{
"editor.fontSize": 14,
"editor.tabSize": 2,
"editor.wordWrap": "on",
"files.autoSave": "afterDelay"
}
nteract (config.js):
module.exports = {
theme: 'light',
editorFontSize: 14,
defaultKernel: 'python3'
};
Summary
VS Code is a more comprehensive IDE with broader language support and a vast ecosystem of extensions. It offers more features but may be resource-intensive and have a steeper learning curve. nteract, on the other hand, is more focused on interactive computing and notebook-style development, particularly for data science workflows. It's lighter and easier to get started with but may lack some advanced IDE features found in VS Code.
JupyterLab computational environment.
Pros of JupyterLab
- More extensive and flexible user interface with a modular architecture
- Better support for large datasets and advanced data visualization
- Stronger integration with Git and other development tools
Cons of JupyterLab
- Steeper learning curve for new users compared to nteract's simpler interface
- Potentially overwhelming for users who don't need all the advanced features
- Heavier resource usage, which may impact performance on less powerful machines
Code Comparison
JupyterLab example:
from jupyterlab.labapp import LabApp
if __name__ == '__main__':
LabApp.launch_instance()
nteract example:
import { actions, reducers } from "@nteract/core";
import { createStore, applyMiddleware } from "redux";
const store = createStore(reducers, applyMiddleware());
While both projects aim to enhance the notebook experience, JupyterLab offers a more comprehensive IDE-like environment, whereas nteract focuses on a streamlined, user-friendly interface. JupyterLab is better suited for advanced users and complex workflows, while nteract may be preferable for those seeking a simpler, more intuitive notebook experience.
Streamlit — A faster way to build and share data apps.
Pros of Streamlit
- Simpler and faster development of data apps with minimal boilerplate code
- Built-in support for various data visualization libraries and widgets
- Automatic live reloading and caching for improved development experience
Cons of Streamlit
- Less flexible than Nteract for complex, interactive notebook-style workflows
- Limited customization options for UI layout and design
- Primarily focused on Python, while Nteract supports multiple kernels
Code Comparison
Streamlit example:
import streamlit as st
import pandas as pd
data = pd.read_csv("data.csv")
st.line_chart(data)
Nteract example:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv("data.csv")
plt.plot(data)
plt.show()
Streamlit's code is more concise and directly creates a web app, while Nteract's code is more traditional and requires additional steps to display in a notebook environment.
Data Apps & Dashboards for Python. No JavaScript Required.
Pros of Dash
- Focused on building interactive web applications for data visualization
- Extensive library of pre-built components for rapid development
- Seamless integration with Plotly's graphing capabilities
Cons of Dash
- Steeper learning curve for those unfamiliar with React
- Less flexible for general-purpose notebook-style development
- May require more setup and configuration for complex projects
Code Comparison
nteract:
from nteract_on_jupyter import contents
contents.file_contents("my_notebook.ipynb")
Dash:
import dash
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Graph(id='example-graph')
])
Key Differences
- nteract focuses on notebook-style development and interactive computing
- Dash specializes in creating web-based dashboards and data applications
- nteract offers a more traditional Jupyter-like experience
- Dash provides a framework for building complex, interactive data visualizations
Use Cases
- Choose nteract for exploratory data analysis and interactive computing
- Opt for Dash when building data-driven web applications and dashboards
- nteract is better suited for researchers and data scientists
- Dash is ideal for creating production-ready data visualization tools
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME

the interactive computing suite for you
nteract is an open-source organization committed to creating fantastic interactive computing experiences that allow people to collaborate with ease.
We build SDKs, applications, and libraries that help you and your team make the most of interactive (particularly Jupyter) notebooks and REPLs.
To learn more about the nteract open source organization and the rest of our projects, please visit our website.
What's in this repo?
This repo is a monorepo. It contains the code for the nteract core SDK and nteract's desktop and web applications. It also contains the documentation for the SDK and the applications. Here's a quick guide to the contents of the monorepo.
Folder | Description |
---|---|
applications/desktop | Source code for the nteract desktop application. The desktop application is a cross-platform app built using Electron. |
applications/jupyter-extension | Source code the nteract Jupyter extension. This extension can be installed alongside Jupyter classic and JupyterLab in your Jupyter deployments or personal Jupyter server. |
packages | JavaScript packages that are part of the nteract core SDK. |
changelogs | Changelogs for each release of the nteract core SDK and applications. |
How do I contribute to this repo?
If you are interested in contributing to nteract, please read the contribution guidelines for information on how to set up your nteract repo for development, how to write tests and validate changes, how to update documentation, and how to submit your code changes for review on GitHub.
How do I use the nteract core SDK?
If you are a developer who wants to build an nteract-based notebook application, check out the following documentation resources for more info.
Link | What's in it? |
---|---|
docs.nteract.io | This page contains our how-to and tutorial style documentation. Get started learning about the nteract core SDK here. |
packages.nteract.io | This page contains the API documentation for packages in our core SDK. Bookmark this and use it as a reference when building your nteract-based UI. |
components.nteract.io | This page contains the documentation for our suite of composable React components. It contains code samples that you can reference when building your nteract-based UI. |
Our documentation is living. We are always making changes and adding more content. If you have feedback about the documentation, please open an issue in this repo. If you are interested in submitting a change to our documentation page, please review the contribution guidelines and submit a pull request.
How do I use the nteract desktop application?
To get started with the nteract desktop app, head over to the nteract homepage to download the application for your operating system.
Once you've download the app, head over to our documentation page for tutorials and guides on using the app for your data analysis and science workflows.
Supporting nteract
nteract is a non-profit open-source organization fiscally sponsored by NumFOCUS. If you are interested in supporting development on nteract, please consider making a recurring donation.
Development on nteract is also supported by the following organizations.
![]() |
![]() |
![]() | ![]() |
Top Related Projects
Jupyter Interactive Notebook
Visual Studio Code
JupyterLab computational environment.
Streamlit — A faster way to build and share data apps.
Data Apps & Dashboards for Python. No JavaScript Required.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot