Un cuaderno Python reactivo que es reproducible, compatible con git y que se puede implementar como scripts o aplicaciones.
Documentos · Discord · Ejemplos
inglés |简体中文
marimo es un cuaderno Python reactivo: ejecuta una celda o interactúa con un elemento de la interfaz de usuario, y marimo ejecuta automáticamente celdas dependientes (o las marca como obsoletas), manteniendo el código y los resultados consistentes. Los cuadernos marimo se almacenan como Python puro, son ejecutables como scripts y se pueden implementar como aplicaciones.
Reflejos .
jupyter
, streamlit
, jupytext
, ipywidgets
, papermill
y más.py
pip install marimo & & marimo tutorial intro
Pruebe marimo en nuestro parque de juegos en línea, ¡que se ejecuta completamente en el navegador!
Vaya al inicio rápido para obtener una introducción a nuestra CLI.
marimo garantiza que el código, los resultados y el estado del programa de su notebook sean consistentes. Esto resuelve muchos problemas asociados con los portátiles tradicionales como Jupyter.
Un entorno de programación reactivo. Ejecute una celda y marimo reacciona ejecutando automáticamente las celdas que hacen referencia a sus variables, eliminando la tarea propensa a errores de volver a ejecutar las celdas manualmente. Elimine una celda y marimo borrará sus variables de la memoria del programa, eliminando el estado oculto.
Compatible con portátiles caros. marimo le permite configurar el tiempo de ejecución para que sea lento, marcando las celdas afectadas como obsoletas en lugar de ejecutarlas automáticamente. Esto le brinda garantías sobre el estado del programa y al mismo tiempo evita la ejecución accidental de celdas costosas.
Elementos de interfaz de usuario sincronizados. Interactúe con elementos de la interfaz de usuario como controles deslizantes, menús desplegables, transformadores de marcos de datos e interfaces de chat, y las celdas que los utilizan se vuelven a ejecutar automáticamente con sus valores más recientes.
Marcos de datos interactivos. Hojee, busque, filtre y ordene millones de filas increíblemente rápido, sin necesidad de código.
Tiempo de ejecución eficaz. marimo ejecuta solo aquellas celdas que deben ejecutarse analizando estáticamente su código.
Rebaja dinámica y SQL. Utilice Markdown para contar historias dinámicas que dependan de datos de Python. O cree consultas SQL que dependan de los valores de Python y ejecútelas en marcos de datos, bases de datos, CSV, Hojas de cálculo de Google o cualquier otra cosa utilizando nuestro motor SQL integrado, que devuelve el resultado como un marco de datos de Python.
Sus cuadernos siguen siendo Python puro, incluso si usan Markdown o SQL.
Orden de ejecución determinista. Los cuadernos se ejecutan en un orden determinista, basado en referencias variables en lugar de en las posiciones de las celdas en la página. Organiza tus cuadernos para que se ajusten mejor a las historias que te gustaría contar.
Gestión de paquetes integrada. marimo tiene soporte integrado para todos los principales administradores de paquetes, lo que le permite instalar paquetes al importarlos. marimo puede incluso serializar los requisitos de los paquetes en archivos de notebook e instalarlos automáticamente en entornos aislados de venv.
Pilas incluidas. marimo viene con GitHub Copilot, asistentes de inteligencia artificial, formato de código Ruff, exportación HTML, finalización rápida de código, una extensión VS Code, un visor de marcos de datos interactivo y muchas más funciones de calidad de vida.
Instalación. En una terminal, ejecute
pip install marimo # or conda install -c conda-forge marimo
marimo tutorial intro
Crea cuadernos.
Crea o edita cuadernos con
marimo edit
Ejecute aplicaciones. Ejecute su cuaderno como una aplicación web, con el código Python oculto y no editable:
marimo run your_notebook.py
Ejecutar como scripts. Ejecute un cuaderno como script en la línea de comando:
python your_notebook.py
Convierta automáticamente los cuadernos de Jupyter. Convierta automáticamente cuadernos Jupyter en cuadernos marimo con la CLI
marimo convert your_notebook.ipynb > your_notebook.py
o utilice nuestra interfaz web.
Tutoriales. Lista todos los tutoriales:
marimo tutorial --help
Consulte las preguntas frecuentes en nuestros documentos.
Es fácil comenzar con marimo, con mucho espacio para usuarios avanzados. Por ejemplo, aquí hay un visualizador de incrustación hecho en marimo (video):
Consulte nuestros documentos, la carpeta examples/
y nuestra galería para obtener más información.
Tutorial | Entradas | Parcelas | Disposición |
¡Agradecemos todas las contribuciones! No necesitas ser un experto para ayudar. Consulte CONTRIBUTING.md para obtener más detalles sobre cómo comenzar.
¿Preguntas? Comuníquese con nosotros en Discord.
Estamos construyendo una comunidad. ¡Ven a pasar el rato con nosotros!
marimo es una reinvención del cuaderno Python como un programa Python reproducible, interactivo y compartible, en lugar de un bloc de notas JSON propenso a errores.
Creemos que las herramientas que utilizamos moldean nuestra forma de pensar: mejores herramientas, para mejores mentes. Con marimo, esperamos brindar a la comunidad Python un mejor entorno de programación para investigar y comunicarlo; experimentar con código y compartirlo; aprender ciencia computacional y enseñarla.
Nuestra inspiración proviene 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 de flujo de datos reactivo. Desde IPyflow, streamlit, TensorFlow, PyTorch, JAX y React, las ideas de programación funcional, declarativa y reactiva están transformando una amplia gama de herramientas para mejor.