Hub documentation

marimo на Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

marimo на Spaces

marimo — это реактивный ноутбук для Python, который моделирует ноутбуки как графы потоков данных. При выполнении ячейки или взаимодействии с элементом пользовательского интерфейса marimo автоматически выполняет затронутые ячейки (или помечает их как устаревшие), поддерживая согласованность кода и результатов и предотвращая ошибки до их появления. Каждый ноутбук marimo хранится в виде чистого Python, может выполняться как скрипт и разворачиваться как приложение.

Ключевые возможности:

  • ⚡️ реактивный: выполните ячейку, и marimo реактивно выполнит все зависимые ячейки или пометит их как устаревшие
  • 🖐️ интерактивный: привязка слайдеров, таблиц, графиков и других элементов к Python — без необходимости использовать обратные вызовы
  • 🔬 воспроизводимость: отсутствие скрытого состояния, детерминированное выполнение, встроенное управление пакетами
  • 🏃 исполняемый файл: запуск как Python-скрипта, параметризуемого аргументами командной строки
  • 🛜 shareable: развёртывание в виде интерактивного веб-приложения или слайдов, запуск в браузере через WASM
  • 🛢️ создан для работы с данными: запросы к датафреймам и базам данных с помощью SQL, фильтрация и поиск в датафреймах

Развёртывание приложений marimo на Spaces

Чтобы начать работу с marimo на Spaces, нажмите кнопку ниже:

Это запустит сборку вашего Space с использованием Docker-шаблона marimo. Если всё пройдёт успешно, вы увидите приложение, похожее на ноутбук с введением в marimo.

Настройка вашего приложения marimo

При создании Space на marimo вы получите несколько ключевых файлов, которые помогут вам начать работу:

1. app.py

Это основной файл вашего блокнота marimo, в котором определяется логика приложения. Блокноты marimo — это чистые файлы Python, использующие декоратор @app.cell для определения ячеек. Чтобы узнать больше о создании блокнотов и приложений, см. документацию marimo. По мере роста приложения вы можете организовывать код в модули и импортировать их в основной блокнот.

2. Dockerfile

Dockerfile для приложения marimo минимален, так как у marimo мало системных зависимостей. Ключевые требования:

  • Он устанавливает зависимости, перечисленные в requirements.txt (с помощью uv)
  • Создаёт непривилегированного пользователя в целях безопасности
  • Он запускает приложение с помощью marimo run app.py

Возможно, вам потребуется изменить этот файл, если вашему приложению требуются дополнительные системные зависимости, разрешения или другие флаги CLI.

3. requirements.txt

Space автоматически установит зависимости, перечисленные в файле requirements.txt. Минимум в этот файл необходимо включить marimo. Также добавьте все остальные пакеты, необходимые для вашего приложения.

Шаблон Space marimo обеспечивает базовую настройку, которую можно расширять в соответствии с вашими потребностями. При развертывании ваш блокнот будет работать в «режиме приложения», который скрывает ячейки с кодом и отображает только интерактивные результаты — идеально подходит для демонстрации конечным пользователям. Вы можете включить ячейки с кодом в своем приложении, добавив --include-code к команде marimo run в Dockerfile.

Дополнительные ресурсы и поддержка

Устранение неполадок

Если вы столкнулись с проблемами:

  1. Убедитесь, что ваш ноутбук запускается локально в режиме приложения с помощью marimo run app.py
  2. Убедитесь, что все необходимые пакеты перечислены в requirements.txt
  3. Убедитесь, что конфигурация порта совпадает (7860 — это порт по умолчанию для Spaces)
  4. Проверьте журналы Space на наличие ошибок Python

За дополнительной помощью обращайтесь в Discord-сервер marimo или создайте issue.

Update on GitHub