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
- Collaboration/Education
- Visualization
- 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.
- 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
- 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-viewer-xblock - Fetch and display part of, or an entire Jupyter Notebook in an Open edX XBlock.
- jupyter-edx-grader-xblock - Auto-grade a student assignment created as a Jupyter notebook and write the score in the Open edX gradebook.
- 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.
- Bokeh - Interactive visualization library that targets modern web browsers for presentation.
- bqplot - Grammar of Graphics-based interactive plotting framework for Jupyter.
- IPySigma - Prototype network visualization frontend for Jupyter notebooks.
- 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.
- 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.
- Jupytext - Convert and synchronize notebooks with text formats (e.g. Python or Markdown files) that work well under version control.
- 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-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.
- 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.
- 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
- JupyterLab Documentation
- Jupyter kernels - List of all programming languages available as Jupyter kernels.
- Making kernels for Jupyter
- Try Jupyter - Try Jupyter in your browser.
Community Resources
- Conference Talks - PyVideo.org, JupyterCon
- jupyter-map - Map of university institutions that use Jupyter.
- Gitter - Jupyter Gitter Chatroom
- GitHub - Topics: jupyter, jupyter-kernels, jupyter-notebook, jupyterhub, jupyterlab, jupyterlab-extension
- GitHub - Search: jupyter
- 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
- Exploratory computing with Python - Collection of notebooks covering scientific computing.
- List of Jupyter notebooks
- List of Jupyter notebooks II
- How to Grow Neat Software Architecture out of Jupyter Notebooks - Article and video about growing a neat software architecture from notebooks.
- Install and run a Jupyter notebook in a Google Cloud Dataproc cluster
- Interactive Web Plotting with Bokeh
- JupyterLab - Your Personal Data Science Workbench - Talk about JupyterLab at Full Stack Quants London.
- Jupyter Notebook Extensions
- Jupyter Notebook Themes
- Jupyter tips, tricks and shortcuts
- Lectures on scientific computing with Python
- The Littlest JupyterHub - JupyterHub distribution for 1-50 users on a single server; more lightweight than the Zero to JupyterHub setup.
- pytudes - List of Jupyter Notebooks by Peter Norvig.
- ResGuides: research with Jupyter
- Zero to JupyterHub - Tutorial to help install and manage JupyterHub.
Contributing
Your contributions are always welcome! Please take a look at the contribution guidelines first.