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.
<br>
<img width="400" src="assets/logo.png" alt="Jupyter logo">
<br>
<br>
<sub>Awesome Jupyter is proudly supported by our sponsor:</sub>
<br>
<br>
<a href="https://deepnote.com/?utm_source=github&utm_medium=promo&utm_campaign=awesomejupyter"><img width="300" src="assets/deepnote.jpeg" alt="Deepnote logo"></a>
<br>
<br>
<b>Deepnote is a collaborative data science notebook built for teams.</b>
<div>
<sub>Explore data with Python & SQL from your browser. Add context with data visualizations and rich text editing. Share your work by simply sending a link. <a href="https://deepnote.com/?utm_source=github&utm_medium=promo&utm_campaign=awesomejupyter">Check it out on the Deepnote free plan.</a></sub>
</div>
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.
- JupyterLab
Desktop - A desktop application for JupyterLab, based on
Electron.
- JupyterWith -
Nix-based framework for the definition of declarative and reproducible
Jupyter environments.
- 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.
- Panel - Notebooks as
static files or interactive and standalone server-/client-side (via
pyodide) apps.
- PaneLite - A distribution
of JupyterLite
that works with Panel and the HoloViz ecosystem.
- Stencila - Native
desktop notebook frontend.
- Visual
Studio Code - Native desktop notebook frontend.
- voila -
Notebooks as interactive standalone web applications.
Collaboration/Education
Visualization
- Altair -
Declarative visualization library for Python, based on Vega and Vega-Lite.
- anywidget - A Python library
that simplifies creating and publishing custom Jupyter widgets.
- 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.
- hvplot - A familiar and
high-level API for data exploration and visualization in Jupyter.
- ipychart -
Interactive Chart.js plots in Jupyter.
- ipycytoscape
- Widget for interactive graph visualization in Jupyter using
cytoscape.js.
- ipydagred3 -
ipywidgets
library for drawing directed acyclic graphs in jupyterlab using
dagre-d3.
- ipyleaflet -
Interactive visualization library for Leaflet.js maps in Jupyter
notebooks.
- IPySigma -
Prototype network visualization frontend for Jupyter notebooks.
- ipytree - Tree
UI element for Jupyter.
- ipyvizzu -
Animated data storytelling tool.
- ipyvolume
- 3D plotting for Python in Jupyter based on widgets and WebGL.
- ipywebrtc
- Video/Audio streaming in Jupyter.
- ipywidgets - UI
widgets for Jupyter.
- 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-gmaps -
Interactive visualization library for Google Maps in Jupyter
notebooks.
- jupyter-manim -
Display manim (Mathematical
Animation Engine) videos or GIFs 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.
- Perspective -
Data visualization and analytics component, especially for
large/streaming datasets.
- pyecharts -
Python interface for the ECharts
visualization library.
- pythreejs - Python
/ ThreeJS bridge utilizing the Jupyter widget infrastructure.
- tqdm - Fast, extensible
progress bar for loops and iterables.
- tributary -
Python data streams with Jupyter support.
- xleaflet - C++
Backend for ipyleaflet.
- xwebrtc - C++
Backend for ipywebrtc.
- xwidgets - C++
Backend for ipywidgets.
Tables
- buckaroo - GUI
Data Wrangling tool for Jupyter and pandas.
- ipyaggrid - The
power of ag-Grid in Jupyter.
- ipydatagrid -
Fast datagrid widget for Jupyter.
- ipyregulartable
- High performance, editable, stylable datagrids in Jupyter.
- ipysheet -
Interactive spreadsheets in Jupyter.
- ITables - Pandas and
Polars DataFrames rendered as interactive datatables-net tables.
- Qgrid -
Interactive grid for sorting, filtering, and editing DataFrames in
Jupyter.
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.
- jupyterlab_nbconvert_nocode
- NBConvert exporters for PDF/HTML export without code cells.
- 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.
- Mercury - Convert
notebooks into web applications.
- 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
- databooks - A
command-line utility that eases versioning and sharing of
notebooks.
- 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.
- Neptune
- Version, manage and share notebook checkpoints in your projects.
- ReviewNB - Code reviews for
Jupyter Notebooks.
JupyterLab Extensions
- amphi-etl -
Low-code ETL extension for Jupyterlab.
- 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.
- genv -
Extension for managing GPU environments in JupyterLab.
- go-to-definition
- Extension for navigating to the definition of a variable or function
in JupyterLab.
- google-drive
- Extension for Google Drive integration.
- jupyter-ai -
Work with generative AIs (wide range of models supported) as a
conversational assistant in JupyterLab.
- jupyter-fs
- A filesystem-like content manager for multiple backends in
Jupyter.
- jupyter-notify -
Cell magic for browser notification of cell completion.
- jupyter-panel-proxy
- Automatically serve notebooks as Panel data apps at the
/panel endpoint of your Jupyter server.
- jupyter-stack-trace
- Click on the stack trace to open the respective file or a Google
search.
- jupyterlab-executor
- Extension to execute scripts from the Jupyterlab file browser.
- jupyterlab-kyso
- Extension to publish notebooks to the Kyso platform from Jupyterlab.
- jupyterlab-notifications
- Customizable notebook cell completion browser notifications for
JupyterLab.
- jupyterlab-tensorboard-pro
- TensorBoard support for JupyterLab.
- jupyterlab_autoversion
- Automatically version notebooks in JupyterLab.
- jupyterlab_commands
- Add arbitrary python commands to the JupyterLab command palette.
- jupyterlab_email
- Email notebooks and their content from within JupyterLab.
- jupyterlab_iframe
- View HTML as an embedded iframe in JupyterLab.
- jupyterlab_miami_nights
- Combination of VS Code’s SynthWave ’84 and JupyterLab’s Neon Night
themes.
- jupyterlab_templates
- Notebook templates in JupyterLab.
- latex -
Extension for live editing of LaTeX documents.
- lineapy -
Extension for transforming messy Jupyter notebooks to production-ready
pipelines with two lines of code.
- 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.
- stickyland -
Break the linear presentation of notebooks with sticky cells.
- system-monitor
- Extension to display system metrics.
- tabnine -
Tabnine AI auto completer extension.
- 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.
- nbcelltests -
Cell-by-cell testing for notebooks in Jupyter.
- nbval
- Py.test plugin for validating Jupyter notebooks.
- nosebook - Nose
plugin for finding and running IPython notebooks as nose tests.
- sphinxcontrib-jupyter
- Sphinx extension for generating Jupyter notebooks.
- 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.
- xontrib-jupyter -
Jupyter kernel for xonsh, a Python-powered, cross-platform, Unix-gazing
shell language.
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.
- DataBlogs - DataBlogs is an
open-source data journalism platform that converts Jupyter notebooks
into published articles on the web.
- DataCamp Workspace
- Jupyter-backed data science notebooks with built-in collaboration and
publishing functionality.
- 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.
- Kyso - Data science platform to
publish and share Jupyter notebooks as data blogs and web applications.
- Mineo.app - Data Ops platform with
Jupyter-compatible notebooks, no code blocks, and support for creating
dashboards.
- Naas - JupyterLab environment with
magic scheduling/notification functionality and
assets/dependency/secrets management.
- Noteable - Noteable is a
collaborative notebook to combine code (SQL, Python & R) and
interactive visualizations.
- Paperspace Gradient - A
Jupyter-backed data science IDE with accelerated hardware (GPUs) and
MLOps functionality.
- PAWS -
Jupyter notebook deployment customized for interacting with Wikimedia
wikis.
- Pinggy - Create a tunnel to your
Jupyter instance even if it is behind a firewall or NAT.
- qBraid
Lab - JupyterLab deployment providing curated software tools and
integrations for quantum computing.
- Saturn Cloud - Move your data
science team into the cloud without having to switch tools.
Official Resources and
Documentation
- Conference Talks - PyVideo.org, JupyterCon
- GitHub - Search: jupyter
- GitHub - Topics: jupyter, jupyter-kernels, jupyter-notebook,
jupyterhub, jupyterlab, jupyterlab-extension
- Gitter - Jupyter Gitter
Chatroom
- jupyter-map - Map
of university institutions that use Jupyter.
- kandi Kits
Topic - Discover popular Jupyter libraries, top authors, trending
project kits, discussions, tutorials & learning resources.
- Mailing Lists - Jupyter General
Mailing List, Jupyter
in Education Mailing List
- PyPI -
Framework :: Jupyter
is the PyPI trove classifier for Jupyter projects.
- Reddit - Subreddits: r/IPython, r/Jupyter/
- Stack Overflow - Tags: jupyter,
jupyter-notebook
Articles/Guides/Tutorials
Contributing
Your contributions are always welcome! Please take a look at the contribution guidelines first.
jupyter.md
Github