Awesome Jupyter Awesome

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.


Jupyter logo

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.
  • 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

Community Resources

Articles/Guides/Tutorials

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.

GitHub

https://github.com/markusschanta/awesome-jupyter