Turns Jupyter notebooks into standalone web applications and dashboards

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • streamlit

    Streamlit — A faster way to build and share data apps.

  • Note that there's also streamlit [1]. It uses regular python files, rather than notebooks, so they can be easily version controlled. And it has more UI tools.

    [1]: https://streamlit.io/

  • jupyterlite

    Wasm powered Jupyter running in the browser 💡

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • pyodide

    Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

  • You can, with pyodine: https://github.com/pyodide/pyodide

    Here is an example instance: https://notebook.basthon.fr/

    The thing is, creating a whole stack in pure JS would be very hard, since the current scientific stacks uses a lot of fortran, assembly and C with python to bind them all. Or julia. It's millions of man hours we are talking about.

    So compiling Python into WASM is probably the best deal for such an app.

    For the regular web, it would be a deal breaker: you don't want to load 15 mo of runtime before being able to interact with a web page. But for such a scientific app, it's not a problem. Besides, were you to write it entirely in JS, the size would be huge as well.

  • starboard-notebook

    In-browser literate notebooks

  • You could consider an in browser notebook to get your cost down to near nothing - it depends a bit on what kind of tasks your students do whether they fit in the browser (one wouldn't train a large neural network in one for instance)

    There's Starboard (which I'm building, it's built specifically for the browser and can integrate into a larger app deeply) and JupyterLite (the closest you will get to JupyterLab in the browser), either can be a good choice depending on your requirements. Both use Pyodide for the Python runtime.

    [1]: https://github.com/gzuidhof/starboard-notebook, demo: https://starboard.gg

    [2]: https://jupyterlite.readthedocs.io/en/latest/

  • panel

    Panel: The powerful data exploration & web app framework for Python (by holoviz)

  • xeus-cling

    Jupyter kernel for the C++ programming language

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts