Skip to content

Notebooks 2026 — Jupyter, Marimo, Observable #258

Description

@khalilbenaz

lede: Jupyter règne mais Marimo (reactive, OSS) et Observable challengent. Patterns pour data science et exploration en 2026.
lede_en: Jupyter rules but Marimo (reactive, OSS) and Observable challenge. Patterns for data science and exploration in 2026.
title_en: Notebooks 2026 — Jupyter, Marimo, Observable

Le paysage notebooks 2026

  • Jupyter : leader historique, écosystème massif.
  • Marimo : OSS, reactive (à la Excel), Python.
  • Observable : JS, reactive, sweet spot dataviz.
  • Quarto : reproducible research, multi-langue.

Jupyter — la référence

Jupyter Notebooks restent le défaut data science. Écosystème :

  • JupyterLab interface.
  • ipywidgets pour UI.
  • Voilà pour publier comme app.
  • nbconvert pour exports.

Limites : ordre d'exécution mutable cause bugs ("hidden state"). Mauvaise reproducibility.

Marimo — le challenger reactive

Marimo (lancé 2024) répond aux limites Jupyter :

import marimo as mo

@mo.cell
def cell1():
    x = 10
    return x,

@mo.cell
def cell2(x):
    y = x * 2
    return y,

Reactivity : modifier xcell2 re-exécute auto.

Avantages :

  • Pas de hidden state : pure data flow.
  • Reproductible : ordre d'exécution déterministe.
  • Stored as pur Python : git-friendly, pas JSON.
  • Apps : déployer notebook comme app interactive.

Observable — pour dataviz JS

Observable (web-based) sweet spot :

  • D3 / Plot integration native.
  • Reactive cells JS.
  • Partage facile via URL.
  • Idéal explanatory dataviz.

Quarto — reproducible research

Quarto unifie Markdown + code (Python/R/Julia/Observable) :

---
title: My Report
format: html
---

## Analysis

\`\`\`{python}
import pandas as pd
df = pd.read_csv("data.csv")
df.head()
\`\`\`

Render to HTML, PDF, slides. Pour rapports techniques formels.

Choix selon usage

Sweet spot
Jupyter Exploration libre, ML training
Marimo Apps interactives Python, prod-ish
Observable Dataviz JS publiable web
Quarto Rapports, papers, docs technique

Verdict

Jupyter reste défaut pour exploration. Marimo gagne du terrain pour apps Python interactives. Observable pour dataviz web. Quarto pour reports formels.

Pour 2026, ouvrir le toolkit au-delà de Jupyter seul.

2026 notebooks landscape

  • Jupyter: historic leader, massive ecosystem.
  • Marimo: OSS, reactive (Excel-like), Python.
  • Observable: JS, reactive, dataviz sweet spot.
  • Quarto: reproducible research, multi-language.

Jupyter — the reference

Jupyter Notebooks remain data science default. Ecosystem:

  • JupyterLab interface.
  • ipywidgets for UI.
  • Voilà to publish as app.
  • nbconvert for exports.

Limits: mutable execution order causes bugs ("hidden state"). Poor reproducibility.

Marimo — the reactive challenger

Marimo (launched 2024) addresses Jupyter limits:

import marimo as mo

@mo.cell
def cell1():
    x = 10
    return x,

@mo.cell
def cell2(x):
    y = x * 2
    return y,

Reactivity: modify xcell2 auto re-executes.

Advantages:

  • No hidden state: pure data flow.
  • Reproducible: deterministic execution order.
  • Stored as pure Python: git-friendly, not JSON.
  • Apps: deploy notebook as interactive app.

Observable — for JS dataviz

Observable (web-based) sweet spot:

  • Native D3 / Plot integration.
  • JS reactive cells.
  • Easy sharing via URL.
  • Ideal for explanatory dataviz.

Quarto — reproducible research

Quarto unifies Markdown + code (Python/R/Julia/Observable):

---
title: My Report
format: html
---

## Analysis

\`\`\`{python}
import pandas as pd
df = pd.read_csv("data.csv")
df.head()
\`\`\`

Render to HTML, PDF, slides. For formal technical reports.

Choice by use

Sweet spot
Jupyter Free exploration, ML training
Marimo Interactive Python apps, prod-ish
Observable Web-publishable JS dataviz
Quarto Reports, papers, technical docs

Verdict

Jupyter remains default for exploration. Marimo gains ground for interactive Python apps. Observable for web dataviz. Quarto for formal reports.

For 2026, open toolkit beyond Jupyter alone.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions