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.
Deepnote is a collaborative data science notebook built for teams.
Contents
- Runtimes/Frontends
- Collaboration/Education
- Visualization
- Tables
- Rendering/Publishing/Conversion
- Version Control
- JupyterLab Extensions
- Testing
- Domain-Specific Projects
- Hosted Notebook Solutions
- Official Resources and Documentation
- Community Resources
- Articles/Guides/Tutorials
- Contributing
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
- callgraph - Magic to display a function call graph.
- IllumiDesk - Docker-based JupyterHub + LTI + nbgrader distribution for education.
- IPythonBlocks - Practice Python with colored grids in Jupyter.
- jupyter-drive - Google drive for Jupyter.
- jupyter-edx-grader-xblock - Auto-grade a student assignment created as a Jupyter notebook and write the score in the Open edX gradebook.
- jupyter-viewer-xblock - Fetch and display part of, or an entire Jupyter Notebook in an Open edX XBlock.
- jupyterquiz - An interactive quiz generator for Jupyter notebooks and Jupyter Book.
- LTI Launch JupyterHub Authenticator - Authentication via Edx.
- nbautoeval - Create auto-evaluated exercises.
- nbgitpuller - Sync a git repository one-way to a local path.
- nbgrader - Assigning and grading of Jupyter notebooks.
- nbtutor - Visualize Python code execution (line-by-line).
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.