Un cuaderno (notebook) de Python reactivo que es reproducible, compatible con Git y desplegable como scripts o aplicaciones.
Documentos · Discord · Ejemplos · Galería · YouTube
English | 繁體中文 | 简体中文 | 日本語 | Español
marimo es un cuaderno (notebook) de Python: ejecuta una celda o interactúa con un elemento de la interfaz de usuario y marimo ejecuta automáticamente las celdas dependientes (o las marca como desactualizadas), manteniendo el código y los resultados consistentes. Los cuadernos (notebooks) de marimo se almacenan como código Python puro, ejecutables como scripts y desplegables como aplicaciones.
Puntos Destacados.
- 🚀 baterías incluidas: reemplaza
jupyter,streamlit,jupytext,ipywidgets,papermilly más - ⚡️ reactive: ejecuta una celda y marimo reactivamente ejecuta las celdas dependientes o las marca como desactualizadas
- 🖐️ interaction: vincula deslizadores, tablas, gráficas y más a Python — sin "callbacks" requeridos
- 🔬 reproducible: sin estado oculto, ejecución determinística, gestión de paquetes integrada
- 🏃 ejecutable: se ejecuta como script de Python, parametrizable mediante arguments de la línea de commandos (CLI)
- 🛜 compartible: se despliega como una aplicación web interactiva o diapositivas, ejecutar en navegador via WASM
- 🛢️ diseñado para datos: consulta marcos de datos y bases de datos con SQL, filtrar y buscar marcos de datos
- 🐍 compatible con git: cuadernos (notebooks) son almacenados como archivos
.py - ⌨️ un editor moderno: GitHub Copilot, asistentes IA, atajos de teclado de vim, explorador de variables y más
pip install marimo && marimo tutorial intro¡Prueba marimo en nuestro entorno de pruebas, se ejecuta completamente en el navegador!
Inicia rápido para una introducción sobre nuestro CLI.
marimo garantiza que el código de tu notebook, los resultados y el estado del program sean consistentes. Esto resuelve muchos problems asociados con notebooks tradicionales como Jupyter.
Un entorno de programación reactivo. Ejecuta una celda y marimo reacciona ejecutando automáticamente las celdas que referencian sus variables, eliminando la tarea propensa a errores de volver a ejecutar celdas manualmente. Elimina una celda y marimo borra sus variables de la memoria del program, eliminando el estado oculto.
Compatible con cuadernos (notebooks) pesados. marimo te permite configurar el runtime para que sea lazy, marcando las celdas afectadas como obsoletas en lugar de ejecutarlas automáticamente. Esto te da garantías sobre el estado del program mientras previene la ejecución accidental de celdas costosas.
Elementos UI sincronizados. Interactúa con elementos UI como sliders, dropdowns, transformadores de dataframes, e interfaces de chat, y las celdas que los usan se vuelven a ejecutar automáticamente con sus valores más recientes.
Marcos de datos interactivos. Navega, busca, filtra, y ordena millones de filas increíblemente rápido, sin necesidad de codigo.
Tiempo de ejecución eficiente. marimo ejecuta solo las celdas que necesitan set ejecutadas analizando estáticamente tu código.
Markdown dinámico y SQL. Usa markdown para contar historias dinámicas que dependen de datos de Python. O construye consultas SQL que dependen de valores de Python y ejecútalas contra dataframes, bases de datos, CSVs, Google Sheets, o cualquier otra cosa usando nuestro motor SQL integrado, que devuelve el resultado como un dataframe de Python.
Tus notebooks siguen siendo Python puro, incluso si usan markdown o SQL.
Orden de ejecución determinístico. Los notebooks se ejecutan en un orden determinístico, basado en referencias de variables en lugar de las posiciones de las celdas en la página. Organiza tus notebooks para que se ajusten mejor a las historias que quieres contar.
Gestión de paquetes integrada. marimo tiene soporte integrado para todos los gestores de paquetes principles, permitiéndote instalar paquetes al importarlos. marimo puede incluso serializar los requisitos de paquetes en archivos de notebook, e instalarlos automáticamente en sandboxes venv aislados.
Baterías incluidas. marimo viene con GitHub Copilot, asistentes de IA, formateo de código con Ruff, exportación HTML, autocompletado rápido, una extensión de VS Code, un visor interaction de dataframes, y muchas más características de calidad de vida.
Instalación. En una terminal, ejecuta
pip install marimo # or conda install -c conda-forge marimo
marimo tutorial introPara instalar con dependencies adicionales que desbloquean celdas SQL, completado con IA y más, ejecuta
pip install marimo[recommended]Crear cuadernos (notebooks).
Crea o edita notebooks con
marimo editEjecutar aplicaciones. Ejecuta tu notebook como una aplicación web, con el código Python oculto y no editable:
marimo run your_notebook.pyEjecutar como scripts. Ejecuta un notebook como un script en la línea de commandos:
python your_notebook.pyConvertir cuadernos (notebooks) de Jupyter automáticamente. Convierte automáticamente notebooks de Jupyter a notebooks de marimo con el CLI:
marimo convert your_notebook.ipynb > your_notebook.pyo usa nuestra interfaz web.
Tutorials. Lista de todos los tutorials:
marimo tutorial --helpConsulta las FAQ en nuestra documentation.
marimo es fácil para empezar, con mucho espacio para usuarios avanzados. Por ejemplo, aquí hay un visualizador de embeddings hecho en marimo (video):
Revisa nuestra documentation,
la carpeta examples/, y nuestra galeria para aprender mas.
|
|
|
|
| Tutorial | Inputs | Plots | Layout |
|
|
|
|
|
¡Apreciamos todas las contribuciones! No necesitas set un experto para ayudar. Por favor consulta CONTRIBUTING.md para más detalles sobre cómo empezar.
Dudas? Acércate a nosotros en Discord.
Estamos construyendo una comunidad. ¡Ven a pasar el rato con nosotros!
- 🌟 Star us on GitHub
- 💬 Chat with us on Discord
- 📧 Subscribe to our Newsletter
- ☁️ Join our Cloud Waitlist
- ✏️ Start a GitHub Discussion
- 🦋 Follow us on Bluesky
- 🐦 Follow us on Twitter
- 🎥 Subscribe on YouTube
- 🕴️ Follow us on LinkedIn
marimo es una reinvención de Python como un program Python reproducible, interaction y compartible, en lugar de un bloc de notas JSON propenso a errores.
Creemos que las herramientas que usamos dan forma a nuestra manera de pensar — mejores herramientas, para mentes mejores. Con marimo, esperamos proporcionar a la comunidad de Python un mejor entorno de programación para hacer investigación y comunicarla; para experimentar con código y compartirlo; para aprender ciencia computational y enseñarla.
Nuestra inspiración viene de muchos lugares y proyectos, especialmente Pluto.jl, ObservableHQ, y los ensayos de Bret Victor. marimo es parte de un movimiento mayor hacia la programación reactiva de flujo de datos. Desde IPyflow, streamlit, TensorFlow, PyTorch, JAX, y React, las ideas de programación functional, declarativa y reactiva están transformando una amplia gama de herramientas para mejor.






