Awesome Jupyter
A curated list of awesome
Jupyter projects, libraries and
resources. Jupyter is an open-source web application that allows you to
create and share documents that contain live code, equations,
visualizations and narrative text.
Contents
Runtimes/Frontends
-
Beaker - Development environment with
seamless data transmission from one language to another.
-
docker-stacks -
Hierarchical stacks of ready-to-run Jupyter applications in Docker.
-
Guild AI
- Execute notebooks as experiments to capture and compare results over
time.
-
Hydrogen - Run code
inline in Atom using Jupyter kernels.
-
Jupyter Notebook -
Main Jupyter notebook runtime.
-
JupyterHub -
Multi-user server for Jupyter.
-
JupyterLab -
JupyterLab is the next generation user interface for Jupyter.
-
JupyterWith -
Nix-based framework for the definition of declarative and reproducible
Jupyter environments.
-
ShopRunner/jupyter-notify
- Cell magic for browser notification of cell completion.
-
kaggle/docker-python
- Kaggle Python docker image that includes datasets and packages.
-
ML Workspace -
Docker image that includes Jupyter(Lab) and various packages for data
science/machine learning.
-
nteract - Native
desktop notebook frontend.
-
Stencila - Native
desktop notebook frontend.
-
voila -
Notebooks as interactive standalone web applications.
-
Visual Studio Code
- Native desktop notebook frontend.
Collaboration/Education
Visualization
-
Altair - Declarative
visualization library for Python, based on
Vega and
Vega-Lite.
-
Bokeh - Interactive
visualization library that targets modern web browsers for presentation.
-
bqplot - Grammar of
Graphics-based interactive plotting framework for Jupyter.
-
Evidently -
Interactive reports to analyze machine learning models during validation
or production monitoring.
-
IPySigma -
Prototype network visualization frontend for Jupyter notebooks.
-
ipychart - Interactive
Chart.js plots in Jupyter.
-
ipyleaflet -
Interactive visualization library for Leaflet.js maps in Jupyter
notebooks.
-
ipysheet -
Interactive spreadsheets in Jupyter.
-
ipytree - Tree UI
element for Jupyter.
-
ipywebrtc -
Video/Audio streaming in Jupyter.
-
ipywidgets -
UI widgets for Jupyter.
-
ipyvolume -
3D plotting for Python in Jupyter based on widgets and WebGL.
-
itk-jupyter-widgets
- Interactive widgets to visualize images in 2D and 3D.
-
jp_doodle -
Infrastructure for building special purpose interactive diagrams in 2D
and 3D.
-
jupyter-manim
- Display
manim (Mathematical
Animation Engine) videos or GIFs in Jupyter notebooks.
-
jupyter-gmaps -
Interactive visualization library for Google Maps in Jupyter notebooks.
-
lux - Recommends a set of
visualizations whenever a dataframe is printed in a notebook.
-
mpld3 - Combining Matplotlib and
D3js for interactive data visualizations.
-
pd-replicator
- Copy a pandas DataFrame to the clipboard with one click.
-
pyecharts - Python
interface for the
ECharts
visualization library.
-
pythreejs - Python /
ThreeJS bridge utilizing the Jupyter widget infrastructure.
-
Qgrid - Interactive
grid for sorting, filtering, and editing DataFrames in Jupyter
notebooks.
-
tributary - Python
data streams with Jupyter support.
-
tqdm - Fast, extensible
progress bar for loops and iterables.
-
xleaflet - C++
Backend for ipyleaflet.
-
xwebrtc - C++
Backend for ipywebrtc.
-
xwidgets - C++
Backend for ipywidgets.
Rendering/Publishing/Conversion
-
Binder - Turn a GitHub repo into a
collection of interactive notebooks.
-
Bookbook - Bookbook
converts a set of notebooks in a directory to HTML or PDF, preserving
cross references within and between notebooks.
-
ContainDS Dashboards
- JupyterHub extension to host authenticated scripts or notebooks in any
framework (Voilà, Streamlit, Plotly Dash etc).
-
Ganimede - Store,
version, edit and execute notebooks in sandboxes and integrate them
directly via REST interfaces.
-
Jupyter Book
- Build publication-quality books and documents from computational
material.
-
Jupytext - Convert and
synchronize notebooks with text formats (e.g. Python or Markdown files)
that work well under version control.
-
jut - CLI to nicely
display notebooks in the terminal.
-
Kapitsa - CLI to
search local Jupyter notebooks.
-
nbconvert - Convert
Notebooks to other formats.
-
nbdev - Develop, package
and distribute Python packages to PyPI using Jupyter as a
Literate Programing
environment.
-
nbflow - One-button
reproducible workflows with Jupyter and Scons.
-
nbinteract - Create interactive
webpages from Jupyter notebooks.
-
nbscan - Search for and
print cells contents of Jupyter notebooks.
-
Nikola - Static Site Generator that
converts notebooks into websites.
-
notedown - Convert
Jupyter notebooks to markdown (and back).
-
Papermill - Tool for
parameterizing, executing, and analyzing Jupyter notebooks.
-
Ploomber - Run a
collection of notebooks and scripts in a reproducible manner using a
pipeline.yaml
file.
-
pynb - Jupyter Notebooks
as plain Python code with embedded Markdown text.
-
RISE - Reveal.js
Jupyter/IPython Slideshow.
-
rst2ipynb -
Convert standalone reStructuredText files to Jupyter notebook file.
-
Voila - Rendering of
live Jupyter Notebooks with interactive widgets, allowing dashboarding
based on Jupyter Notebooks.
Version Control
-
git -
Extension for git integration.
-
jupyter-nbrequirements
- Dependency management and optimization in Jupyter Notebooks.
-
nbdime - Tools for
diffing and merging of Jupyter notebooks.
-
nbQA - Run any standard
Python code quality tool on a Jupyter Notebook, from the command-line or
via pre-commit.
-
ReviewNB - Code reviews for
Jupyter Notebooks.
JupyterLab Extensions
-
celltags
- Extension to organise and execute notebooks using cell tags.
-
code_formatter
- A universal code formatter.
-
debugger - A visual
debugger for Jupyter notebooks, consoles, and source files.
-
drawio -
Extension that displays drawio/mxgraph diagrams.
-
elyra - A visual editor
for creating and running notebook (or Python script) pipelines locally
or remotely.
-
go-to-definition
- Extension for navigating to the definition of a variable or function
in JupyterLab.
-
google-drive
- Extension for Google Drive integration.
-
jupyterlab_email
- Email notebooks and their content from within JupyterLab.
-
jupyterlab-executor
- Extension to execute scripts from the Jupyterlab file browser.
-
jupyterlab-kyso
- Extension to publish notebooks to the
Kyso platform from Jupyterlab.
-
jupyterlab_templates
- Notebook templates in JupyterLab.
-
latex -
Extension for live editing of LaTeX documents.
-
lsp -
IDE-like features (code navigation, hover suggestions, linters,
diagnostics, kernel-less autocompletion etc.)
-
nb_black - Extension
to keep Python code automatically formatted using
black.
-
python-bytecode
- Explore CPython Bytecode in JupyterLab.
-
quickopen
- Quickly open a file in JupyterLab by typing part of its name.
-
shortcutui
- An extension for managing keyboard shortcuts.
-
sidecar
- A sidecar output widget for JupyterLab.
-
sql - SQL GUI
for JupyterLab.
-
system-monitor
- Extension to display system metrics.
-
tabnine -
Tabnine AI auto completer extension.
-
templates
- Support for Jupyter Notebook templates.
-
theme-darcula
- A handsome Darcula theme for Jupyterlab.
-
toc -
Extension that provides a table of contents for notebooks.
-
topbar - Top
Bar extension for JupyterLab.
-
variableinspector
- Variable inspector extension that shows variables and their values.
-
vim - Vim
notebook cell bindings.
-
voyager -
Extension to view CSV and JSON data in
Voyager.
Testing
-
ipytest - Test runner for
running unit tests from within a notebook.
-
nbval -
Py.test plugin for validating Jupyter notebooks.
-
sphinxcontrib-jupyter
- Sphinx Extension for Generating Jupyter Notebooks.
-
nosebook - Nose
plugin for finding and running IPython notebooks as nose tests.
-
treebeard -
GitHub Action for testing/scheduling Jupyter notebooks.
-
treon - Easy-to-use test
framework for Jupyter Notebooks.
Domain-Specific Projects
-
ArcGIS - Library for
working with maps and geospatial data, powered by web GIS.
-
GenePattern Notebook -
Integrating Genomic Analysis with Interactive Notebooks.
-
GeoNotebook
- Extension for exploratory geospatial analysis.
-
Jupylet - Create 2D and 3D
games, graphics, live music and sound interactively in a Jupyter
notebook.
-
keplergl -
Jupyter extension for visual exploration of large-scale geolocation data
sets.
-
lolviz - Data-structure
visualization tool for lists of lists, lists, dictionaries.
-
Quantopian Notebooks
- Jupyter-based platform for financial research.
-
vpython-jupyter
- VPython 3D engine running in a Jupyter notebook.
Hosted Notebook Solutions
-
Anaconda Enterprise -
Multi-user collaboration and one-click deployment of models, notebooks,
and dashboards.
-
Azure Notebooks - Jupyter
notebooks running in the cloud on Microsoft Azure.
-
CoCalc - Notebooks with 17 supported
kernel types, course management, LaTeX document authoring, simultaneous
document editing and integration with the SageMath computer algebra
system.
-
DataScience.com - Platform for
enterprise data science.
-
Deepnote - Jupyter-compatible
data science notebook with real-time collaboration, versioning and easy
deployment.
-
Domino Data Lab - Data
science platform with integrated collaboration tools, environment
management and compute grid.
-
Google Cloud AI Platform Notebooks
- Managed JupyterLab notebook instances configured with GPU-enabled
machine learning frameworks on Google Cloud Platform.
-
Google Cloud Dataproc Jupyter component
- Jupyter and JupyterLab for Apache Spark using Google Cloud Dataproc.
-
Google Colaboratory -
Cloud-based Jupyter environment aimed at machine learning education and
research.
-
Gryd - Simple, managed, ready-to-use,
cloud based Jupyter notebooks supporting multiple languages.
-
Kyso - Data science platform to publish
and share Jupyter notebooks as data blogs and web applications.
-
Naas - JupyterLab environment with magic
scheduling/notification functionaltiy and assets/dependency/secrets
management.
-
PAWS - Jupyter
notebook deployment customized for interacting with Wikimedia wikis.
-
RMOTR Notebooks -
JupyterLab-based data science environment in the cloud.
-
Spell.run - End-to-end platform for
machine learning and deep learning.
Official Resources and Documentation
Articles/Guides/Tutorials
Contributing
Your contributions are always welcome! Please take a look at the
contribution guidelines
first.