Awesome Jupyter Overview
A curated list of awesome Jupyter projects, libraries and resources
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 markusschanta/awesome-jupyter · ⭐ 3.9K · 🏷️ Miscellaneous
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.
Awesome Jupyter is proudly supported by our sponsor:
Deepnote is a collaborative data science notebook built for teams.
Deepnote is a collaborative data science notebook built for teams.
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. Check it out on the Deepnote free plan.
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 (⭐7.8k) - Hierarchical stacks of ready-to-run Jupyter applications in Docker.
- Guild AI - Execute notebooks as experiments to capture and compare results over time.
- Hydrogen (⭐3.9k) - Run code inline in Atom using Jupyter kernels.
- Jupyter Notebook (⭐11k) - Main Jupyter notebook runtime.
- JupyterHub (⭐7.6k) - Multi-user server for Jupyter.
- JupyterLab (⭐14k) - JupyterLab is the next generation user interface for Jupyter.
- JupyterLab Desktop (⭐3.5k) - A desktop application for JupyterLab, based on Electron.
- JupyterWith (⭐629) - Nix-based framework for the definition of declarative and reproducible Jupyter environments.
- kaggle/docker-python (⭐2.4k) - Kaggle Python docker image that includes datasets and packages.
- ML Workspace (⭐3.4k) - Docker image that includes Jupyter(Lab) and various packages for data science/machine learning.
- nteract (⭐6.2k) - Native desktop notebook frontend.
- Panel (⭐4.4k) - 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 (⭐781) - Native desktop notebook frontend.
- Visual Studio Code - Native desktop notebook frontend.
- voila (⭐5.3k) - Notebooks as interactive standalone web applications.
Collaboration/Education
- callgraph (⭐74) - Magic to display a function call graph.
- IllumiDesk (⭐42) - Docker-based JupyterHub + LTI + nbgrader distribution for education.
- IPythonBlocks (⭐155) - Practice Python with colored grids in Jupyter.
- jupyter-drive (⭐417) - Google drive for Jupyter.
- jupyter-edx-grader-xblock (⭐45) - Auto-grade a student assignment created as a Jupyter notebook and write the score in the Open edX gradebook.
- jupyter-viewer-xblock (⭐30) - Fetch and display part of, or an entire Jupyter Notebook in an Open edX XBlock.
- jupyterquiz (⭐125) - An interactive quiz generator for Jupyter notebooks and Jupyter Book.
- LTI Launch JupyterHub Authenticator (⭐66) - Authentication via Edx.
- nbautoeval (⭐19) - Create auto-evaluated exercises.
- nbgitpuller (⭐205) - Sync a git repository one-way to a local path.
- nbgrader (⭐1.3k) - Assigning and grading of Jupyter notebooks.
- nbtutor (⭐452) - Visualize Python code execution (line-by-line).
Visualization
- Altair (⭐9.1k) - Declarative visualization library for Python, based on Vega and Vega-Lite (⭐4.6k).
- anywidget - A Python library that simplifies creating and publishing custom Jupyter widgets.
- Bokeh - Interactive visualization library that targets modern web browsers for presentation.
- bqplot (⭐3.6k) - Grammar of Graphics-based interactive plotting framework for Jupyter.
- Evidently (⭐4.9k) - 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 (⭐104) - Interactive Chart.js plots in Jupyter.
- ipycytoscape (⭐261) - Widget for interactive graph visualization in Jupyter using cytoscape.js.
- ipydagred3 (⭐70) - ipywidgets (⭐3.1k) library for drawing directed acyclic graphs in jupyterlab using dagre-d3.
- ipyleaflet (⭐1.5k) - Interactive visualization library for Leaflet.js maps in Jupyter notebooks.
- IPySigma (⭐17) - Prototype network visualization frontend for Jupyter notebooks.
- ipytree (⭐128) - Tree UI element for Jupyter.
- ipyvizzu (⭐931) - Animated data storytelling tool.
- ipyvolume (⭐1.9k) - 3D plotting for Python in Jupyter based on widgets and WebGL.
- ipywebrtc (⭐236) - Video/Audio streaming in Jupyter.
- ipywidgets (⭐3.1k) - UI widgets for Jupyter.
- itk-jupyter-widgets (⭐573) - Interactive widgets to visualize images in 2D and 3D.
- jp_doodle (⭐53) - Infrastructure for building special purpose interactive diagrams in 2D and 3D.
- jupyter-gmaps (⭐761) - Interactive visualization library for Google Maps in Jupyter notebooks.
- jupyter-manim (⭐192) - Display manim (⭐60k) (Mathematical Animation Engine) videos or GIFs in Jupyter notebooks.
- lux (⭐5.1k) - Recommends a set of visualizations whenever a dataframe is printed in a notebook.
- mpld3 - Combining Matplotlib and D3js for interactive data visualizations.
- pd-replicator (⭐11) - Copy a pandas DataFrame to the clipboard with one click.
- Perspective (⭐7.7k) - Data visualization and analytics component, especially for large/streaming datasets.
- pyecharts (⭐15k) - Python interface for the ECharts (⭐60k) visualization library.
- pythreejs (⭐934) - Python / ThreeJS bridge utilizing the Jupyter widget infrastructure.
- tqdm (⭐28k) - Fast, extensible progress bar for loops and iterables.
- tributary (⭐431) - Python data streams with Jupyter support.
- xleaflet (⭐84) - C++ Backend for ipyleaflet.
- xwebrtc (⭐14) - C++ Backend for ipywebrtc.
- xwidgets (⭐138) - C++ Backend for ipywidgets.
Tables
- buckaroo (⭐169) - GUI Data Wrangling tool for Jupyter and pandas.
- ipyaggrid (⭐54) - The power of ag-Grid in Jupyter.
- ipydatagrid (⭐524) - Fast datagrid widget for Jupyter.
- ipyregulartable (⭐102) - High performance, editable, stylable datagrids in Jupyter.
- ipysheet (⭐538) - Interactive spreadsheets in Jupyter.
- ITables (⭐727) - Pandas and Polars DataFrames rendered as interactive datatables-net tables.
- Qgrid (⭐3k) - 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 (⭐98) - Bookbook converts a set of notebooks in a directory to HTML or PDF, preserving cross references within and between notebooks.
- ContainDS Dashboards (⭐199) - JupyterHub extension to host authenticated scripts or notebooks in any framework (Voilà, Streamlit, Plotly Dash etc).
- Ganimede (⭐5) - Store, version, edit and execute notebooks in sandboxes and integrate them directly via REST interfaces.
- Jupyter Book (⭐3.8k) - Build publication-quality books and documents from computational material.
- jupyterlab_nbconvert_nocode (⭐18) - NBConvert exporters for PDF/HTML export without code cells.
- Jupytext (⭐6.5k) - Convert and synchronize notebooks with text formats (e.g. Python or Markdown files) that work well under version control.
- jut (⭐178) - CLI to nicely display notebooks in the terminal.
- Kapitsa (⭐11) - CLI to search local Jupyter notebooks.
- Mercury (⭐3.9k) - Convert notebooks into web applications.
- nbconvert - Convert notebooks to other formats.
- nbdev (⭐4.8k) - Develop, package and distribute Python packages to PyPI using Jupyter as a Literate Programing environment.
- nbflow (⭐159) - One-button reproducible workflows with Jupyter and Scons.
- nbinteract - Create interactive webpages from Jupyter notebooks.
- nbscan (⭐24) - Search for and print cells contents of Jupyter notebooks.
- Nikola - Static Site Generator that converts notebooks into websites.
- notedown (⭐852) - Convert Jupyter notebooks to markdown (and back).
- Papermill (⭐5.7k) - Tool for parameterizing, executing, and analyzing Jupyter notebooks.
- Ploomber (⭐3.4k) - Run a collection of notebooks and scripts in a reproducible manner using a
pipeline.yaml
file. - pynb (⭐247) - Jupyter Notebooks as plain Python code with embedded Markdown text.
- RISE (⭐3.7k) - Reveal.js Jupyter/IPython Slideshow.
- rst2ipynb (⭐17) - Convert standalone reStructuredText files to Jupyter notebook file.
- Voila (⭐5.3k) - Rendering of live Jupyter Notebooks with interactive widgets, allowing dashboarding based on Jupyter Notebooks.
Version Control
- databooks (⭐107) - A command-line utility that eases versioning and sharing of notebooks.
- git (⭐1.4k) - Extension for git integration.
- jupyter-nbrequirements (⭐18) - Dependency management and optimization in Jupyter Notebooks.
- nbdime (⭐2.6k) - Tools for diffing and merging of Jupyter notebooks.
- nbQA (⭐991) - 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 (⭐584) - Low-code ETL extension for Jupyterlab.
- celltags (⭐112) - Extension to organise and execute notebooks using cell tags.
- code_formatter (⭐822) - A universal code formatter.
- debugger (⭐560) - A visual debugger for Jupyter notebooks, consoles, and source files.
- drawio (⭐598) - Extension that displays drawio/mxgraph diagrams.
- elyra (⭐1.8k) - A visual editor for creating and running notebook (or Python script) pipelines locally or remotely.
- genv (⭐19) - Extension for managing GPU environments in JupyterLab.
- go-to-definition (⭐227) - Extension for navigating to the definition of a variable or function in JupyterLab.
- google-drive (⭐401) - Extension for Google Drive integration.
- jupyter-ai (⭐3k) - Work with generative AIs (wide range of models supported) as a conversational assistant in JupyterLab.
- jupyter-fs (⭐191) - A filesystem-like content manager for multiple backends in Jupyter.
- jupyter-notify (⭐581) - Cell magic for browser notification of cell completion.
- jupyter-panel-proxy (⭐12) - Automatically serve notebooks as Panel data apps at the
/panel
endpoint of your Jupyter server. - jupyter-stack-trace (⭐6) - Click on the stack trace to open the respective file or a Google search.
- jupyterlab-executor (⭐15) - Extension to execute scripts from the Jupyterlab file browser.
- jupyterlab-kyso (⭐2) - Extension to publish notebooks to the Kyso platform from Jupyterlab.
- jupyterlab-notifications (⭐54) - Customizable notebook cell completion browser notifications for JupyterLab.
- jupyterlab-tensorboard-pro (⭐83) - TensorBoard support for JupyterLab.
- jupyterlab_autoversion (⭐75) - Automatically version notebooks in JupyterLab.
- jupyterlab_commands (⭐54) - Add arbitrary python commands to the JupyterLab command palette.
- jupyterlab_email (⭐53) - Email notebooks and their content from within JupyterLab.
- jupyterlab_iframe (⭐105) - View HTML as an embedded iframe in JupyterLab.
- jupyterlab_miami_nights (⭐113) - Combination of VS Code's SynthWave '84 and JupyterLab's Neon Night themes.
- jupyterlab_templates (⭐384) - Notebook templates in JupyterLab.
- latex (⭐607) - Extension for live editing of LaTeX documents.
- lineapy (⭐660) - Extension for transforming messy Jupyter notebooks to production-ready pipelines with two lines of code.
- lsp (⭐102) - IDE-like features (code navigation, hover suggestions, linters, diagnostics, kernel-less autocompletion etc.)
- nb_black (⭐364) - Extension to keep Python code automatically formatted using black (⭐38k).
- python-bytecode (⭐63) - Explore CPython Bytecode in JupyterLab.
- quickopen (⭐76) - Quickly open a file in JupyterLab by typing part of its name.
- shortcutui (⭐54) - An extension for managing keyboard shortcuts.
- sidecar (⭐246) - A sidecar output widget for JupyterLab.
- sql (⭐411) - SQL GUI for JupyterLab.
- stickyland (⭐506) - Break the linear presentation of notebooks with sticky cells.
- system-monitor (⭐297) - Extension to display system metrics.
- tabnine (⭐36) - Tabnine AI auto completer extension.
- theme-darcula (⭐209) - A handsome Darcula theme for Jupyterlab.
- toc (⭐726) - Extension that provides a table of contents for notebooks.
- topbar (⭐6) - Top Bar extension for JupyterLab.
- variableinspector (⭐1.1k) - Variable inspector extension that shows variables and their values.
- vim (⭐966) - Vim notebook cell bindings.
- voyager (⭐296) - Extension to view CSV and JSON data in Voyager.
Testing
- ipytest (⭐295) - Test runner for running unit tests from within a notebook.
- nbcelltests (⭐82) - Cell-by-cell testing for notebooks in Jupyter.
- nbval (⭐436) - Py.test plugin for validating Jupyter notebooks.
- nosebook (⭐79) - Nose plugin for finding and running IPython notebooks as nose tests.
- sphinxcontrib-jupyter (⭐74) - Sphinx extension for generating Jupyter notebooks.
- treebeard (⭐152) - GitHub Action for testing/scheduling Jupyter notebooks.
- treon (⭐300) - 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 (⭐1.1k) - Extension for exploratory geospatial analysis.
- Jupylet (⭐224) - 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 (⭐821) - Data-structure visualization tool for lists of lists, lists, dictionaries.
- Quantopian Notebooks - Jupyter-based platform for financial research.
- vpython-jupyter (⭐64) - VPython 3D engine running in a Jupyter notebook.
- xontrib-jupyter (⭐29) - 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
- Jupyter documentation
- Jupyter kernels (⭐15k) - List of all programming languages available as Jupyter kernels.
- JupyterLab documentation
- Making kernels for Jupyter
- Try Jupyter - Try Jupyter in your browser.
Community Resources
- 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
- Exploratory computing with Python - Collection of notebooks covering scientific computing.
- How to Grow Neat Software Architecture out of Jupyter Notebooks (⭐522) - 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 (⭐736)
- Jupyter Notebook Extensions
- Jupyter Notebook Themes (⭐9.7k)
- Jupyter tips, tricks and shortcuts
- JupyterLab - Your Personal Data Science Workbench (⭐16) - Talk about JupyterLab at Full Stack Quants London.
- Lectures on scientific computing with Python (⭐3.5k)
- List of Jupyter notebooks (⭐15k)
- List of Jupyter notebooks II (⭐2.5k)
- pytudes (⭐23k) - List of Jupyter Notebooks by Peter Norvig.
- ResGuides: research with Jupyter
- Sharing Jupyter Notebooks from localhost - Sharing Jupyter Notebooks from localhost.
- The Littlest JupyterHub - JupyterHub distribution for 1-50 users on a single server; more lightweight than the Zero to JupyterHub setup.
- 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.