CommunityProgramación y desarrollogithub.com

marimo-team/marimo-batch

Una habilidad especializada para preparar un cuaderno de marimo y dejarlo listo para una ejecución programada.

¿Qué es marimo-batch?

La habilidad `marimo-team/marimo-batch` está diseñada para preparar cuadernos de Marimo para ejecuciones programadas o por lotes. Su objetivo principal es transformar un cuaderno interactivo típico de Marimo en una versión estable y optimizada que pueda ejecutarse de manera confiable sin interacción del usuario, por ejemplo, en un cron job o un pipeline de CI/CD. Para lograrlo, esta habilidad analiza el cuaderno, identifica las celdas que requieren entrada manual y las convierte a parámetros configurables a través de variables de entorno o argumentos de línea de comandos. También garantiza que las dependencias y la configuración del entorno estén correctamente especificadas para evitar fallos en tiempo de ejecución. Al usar esta habilidad, los desarrolladores pueden automatizar sus cuadernos de Marimo de manera sencilla, manteniendo la legibilidad y la capacidad de desarrollo interactivo originales.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/marimo-team/skills/tree/main/skills/marimo-batch

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace marimo-batch?

Una habilidad especializada para preparar un cuaderno de Marimo y dejarlo listo para una ejecución programada.

Descripción

Esta skill analiza y modifica un cuaderno de Marimo para que pueda ejecutarse de forma programada sin intervención manual. Convierte las entradas del usuario en parámetros configurables (variables de entorno o argumentos de CLI), asegura que las dependencias estén declaradas y optimiza la configuración para entornos no interactivos (como cron, CI/CD o tareas batch).

Cómo funciona

  1. Identifica celdas de entrada: Busca celdas que pidan entrada interactiva (por ejemplo, mo.ui.text(), mo.ui.slider(), etc.) y las transforma para que lean su valor desde variables de entorno.
  2. Externaliza parámetros: Convierte todos los valores configurables en variables de entorno (definidas en un archivo .env o mediante os.environ).
  3. Verifica dependencias: Revisa que todas las librerías importadas estén listadas en requirements.txt o pyproject.toml.
  4. Establece modo no interactivo: Ajusta la configuración de Marimo (por ejemplo, MARIMO_RUNTIME_MODE=batch) para que el cuaderno no intente abrir un servidor web ni muestre la interfaz de usuario.
  5. Valida la ejecución: Opcionalmente, ejecuta el cuaderno en un entorno limpio para asegurar que funcione correctamente.

Plataformas compatibles

  • Entornos de scripting: Bash, cron, systemd timers.
  • CI/CD: GitHub Actions, GitLab CI, Jenkins.
  • Plataformas cloud: AWS Lambda (con adaptador), Google Cloud Run, Azure Functions (con empaquetado adecuado).
  • Orquestadores: Airflow, Prefect, Dagster (mediante wrappers).

Requisitos

  • Tener instalado marimo (versión 0.8 o superior).
  • El cuaderno debe estar en formato .py (como cuaderno de Marimo).
  • Opcional: python-dotenv para cargar variables de entorno desde .env.

Uso típico

  1. Coloca el cuaderno en un directorio de trabajo.
  2. Ejecuta la skill: marimo-batch preparar cuaderno.py (el comando exacto dependerá de la implementación).
  3. La skill generará un nuevo archivo cuaderno_batch.py (o modificará el original) listo para ejecución programada.
  4. Define las variables de entorno necesarias en un archivo .env o en el entorno de ejecución.
  5. Programa la ejecución: python cuaderno_batch.py (sin interfaz gráfica).

Ejemplo

Antes (interactivo):

import marimo as mo

slider = mo.ui.slider(0, 100, value=50)
slider

Después (batch):

import os
import marimo as mo

slider_value = int(os.environ.get("SLIDER_VALUE", "50"))
# slider ahora usa slider_value sin mostrar UI

Notas importantes

  • Asegúrate de probar el cuaderno transformado en un entorno no interactivo antes de ponerlo en producción.
  • Las celdas que contengan solo texto o markdown se mantienen igual (no se modifican).
  • La skill no elimina las celdas originales; solo las adapta para que funcionen sin interfaz.

Esta skill forma parte de la colección marimo-team.

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Skills relacionados