Hacker News Digest

05 августа 2025 г. в 17:39 • marimo.io • ⭐ 89 • 💬 27

OriginalHN

#python#jupyter#dataflow#notebooks#uv#dag#reactivity#reproducibility#open-source

Representing Python notebooks as dataflow graphs

marimo — новый open-source Python-ноутбук, в котором программа представлена графом потока данных. Это снимает главные боли Jupyter: скрытое состояние, невоспроизводимость, невозможность повторного использования и сложную поддержку.

Почему старый формат не подходит

  • Воспроизводимость. Исследования 2019–2020 гг. показали: только 4–24 % ноутбуков на GitHub можно перезапустить без ошибок и получить те же результаты. Причина — скрытое состояние: удаление или переупорядочивание ячеек ломает выводы.
  • Интерактивность. В Jupyter интерактивен процесс, но не сами данные: выделение точек на графике не возвращает датафрейм.
  • Поддержка и переиспользование. Файл .ipynb — это JSON-блоб, не валидный Python-код; сложно версионировать в Git и переиспользовать как модуль или пайплайн.

Как marimo решает задачу

  • Каждый ноутбук — корректный Python-скрипт и модуль.
  • Граф зависимостей ячеек строится статически; изменение одной ячейки автоматически перезапускает только зависимые.
  • Реактивность: обновление переменной мгновенно отражается во всех графиках и виджетах.
  • Один файл можно экспортировать как приложение или запускать без ядра Jupyter.