Skip to content

Latest commit

 

History

History
276 lines (213 loc) · 14.7 KB

File metadata and controls

276 lines (213 loc) · 14.7 KB

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

discord Pepy Total Downloads Conda Downloads

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.

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.

Un entorno de programación reactivo

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.

Inicio rápido

Instalación. En una terminal, ejecuta

pip install marimo  # or conda install -c conda-forge marimo
marimo tutorial intro

Para 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 edit

Ejecutar aplicaciones. Ejecuta tu notebook como una aplicación web, con el código Python oculto y no editable:

marimo run your_notebook.py

Ejecutar como scripts. Ejecuta un notebook como un script en la línea de commandos:

python your_notebook.py

Convertir 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.py

o usa nuestra interfaz web.

Tutorials. Lista de todos los tutorials:

marimo tutorial --help

¿Preguntas?

Consulta las FAQ en nuestra documentation.

Aprende más

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

Contribuir

¡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.

Comunidad

Estamos construyendo una comunidad. ¡Ven a pasar el rato con nosotros!

Inspiración ✨

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.