¿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
- 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. - Externaliza parámetros: Convierte todos los valores configurables en variables de entorno (definidas en un archivo
.envo medianteos.environ). - Verifica dependencias: Revisa que todas las librerías importadas estén listadas en
requirements.txtopyproject.toml. - 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. - 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-dotenvpara cargar variables de entorno desde.env.
Uso típico
- Coloca el cuaderno en un directorio de trabajo.
- Ejecuta la skill:
marimo-batch preparar cuaderno.py(el comando exacto dependerá de la implementación). - La skill generará un nuevo archivo
cuaderno_batch.py(o modificará el original) listo para ejecución programada. - Define las variables de entorno necesarias en un archivo
.envo en el entorno de ejecución. - 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.