Un notebook Python réactif, reproductible, compatible avec Git et déployable sous forme de scripts ou d'applications.
Documents · Discord · Exemples
Anglais |简体中文
marimo est un notebook Python réactif : exécutez une cellule ou interagissez avec un élément de l'interface utilisateur, et marimo exécute automatiquement les cellules dépendantes (ou les marque comme obsolètes), en gardant le code et les sorties cohérents. Les notebooks marimo sont stockés sous forme de Python pur, exécutables sous forme de scripts et déployables sous forme d'applications.
Points forts .
jupyter
, streamlit
, jupytext
, ipywidgets
, papermill
, et plus encore.py
pip install marimo & & marimo tutorial intro
Essayez Marimo sur notre terrain de jeu en ligne, qui fonctionne entièrement dans le navigateur !
Accédez au démarrage rapide pour une introduction à notre CLI.
marimo garantit que le code de votre notebook, les sorties et l'état du programme sont cohérents. Cela résout de nombreux problèmes associés aux notebooks traditionnels comme Jupyter.
Un environnement de programmation réactif. Exécutez une cellule et marimo réagit en exécutant automatiquement les cellules qui font référence à ses variables, éliminant ainsi la tâche sujette aux erreurs consistant à réexécuter manuellement les cellules. Supprimez une cellule et Marimo supprime ses variables de la mémoire du programme, éliminant ainsi l'état caché.
Compatible avec les ordinateurs portables coûteux. marimo vous permet de configurer le runtime pour qu'il soit paresseux, en marquant les cellules affectées comme obsolètes au lieu de les exécuter automatiquement. Cela vous donne des garanties sur l'état du programme tout en empêchant l'exécution accidentelle de cellules coûteuses.
Éléments d'interface utilisateur synchronisés. Interagissez avec les éléments de l'interface utilisateur tels que les curseurs, les listes déroulantes, les transformateurs de trames de données et les interfaces de discussion, et les cellules qui les utilisent sont automatiquement réexécutées avec leurs dernières valeurs.
Trames de données interactives. Parcourez, recherchez, filtrez et triez des millions de lignes à une vitesse fulgurante, sans code.
Exécution performante. marimo exécute uniquement les cellules qui doivent être exécutées en analysant statiquement votre code.
Démarquage dynamique et SQL. Utilisez le markdown pour raconter des histoires dynamiques qui dépendent des données Python. Ou créez des requêtes SQL qui dépendent des valeurs Python et exécutez-les sur des trames de données, des bases de données, des CSV, Google Sheets ou tout autre élément à l'aide de notre moteur SQL intégré, qui renvoie le résultat sous forme de trame de données Python.
Vos notebooks sont toujours du pur Python, même s'ils utilisent du markdown ou du SQL.
Ordre d'exécution déterministe. Les blocs-notes sont exécutés dans un ordre déterministe, basé sur des références variables plutôt que sur la position des cellules sur la page. Organisez vos cahiers pour qu'ils correspondent au mieux aux histoires que vous souhaitez raconter.
Gestion des packages intégrée. marimo prend en charge tous les principaux gestionnaires de packages, vous permettant d'installer des packages lors de l'importation. marimo peut même sérialiser les exigences des packages dans les fichiers du bloc-notes et les installer automatiquement dans des bacs à sable venv isolés.
Piles incluses. marimo est livré avec GitHub Copilot, des assistants IA, le formatage du code Ruff, l'exportation HTML, la complétion rapide du code, une extension VS Code, une visionneuse de trames de données interactive et bien d'autres fonctionnalités de qualité de vie.
Installation. Dans un terminal, exécutez
pip install marimo # or conda install -c conda-forge marimo
marimo tutorial intro
Créez des cahiers.
Créez ou modifiez des blocs-notes avec
marimo edit
Exécutez des applications. Exécutez votre notebook en tant qu'application Web, avec le code Python masqué et non modifiable :
marimo run your_notebook.py
Exécuter sous forme de scripts. Exécutez un notebook en tant que script sur la ligne de commande :
python your_notebook.py
Convertissez automatiquement les notebooks Jupyter. Convertissez automatiquement les notebooks Jupyter en notebooks Marimo avec la CLI
marimo convert your_notebook.ipynb > your_notebook.py
ou utilisez notre interface web.
Tutoriels. Listez tous les tutoriels :
marimo tutorial --help
Consultez la FAQ sur nos documents.
marimo est facile à utiliser, avec beaucoup de place pour les utilisateurs expérimentés. Par exemple, voici un visualiseur d'intégration réalisé avec marimo (vidéo) :
Consultez nos documents, le dossier examples/
et notre galerie pour en savoir plus.
Tutoriel | Entrées | Parcelles | Mise en page |
Nous apprécions toutes les contributions ! Vous n'avez pas besoin d'être un expert pour vous aider. Veuillez consulter CONTRIBUTING.md pour plus de détails sur la façon de commencer.
Des questions ? Contactez-nous sur Discord.
Nous construisons une communauté. Venez sortir avec nous !
marimo est une réinvention du notebook Python en un programme Python reproductible, interactif et partageable, au lieu d'un bloc-notes JSON sujet aux erreurs.
Nous pensons que les outils que nous utilisons façonnent notre façon de penser : de meilleurs outils, pour de meilleurs esprits. Avec marimo, nous espérons fournir à la communauté Python un meilleur environnement de programmation pour effectuer des recherches et les communiquer ; expérimenter le code et le partager ; apprendre la science informatique et l’enseigner.
Notre inspiration vient de nombreux lieux et projets, notamment Pluto.jl, ObservableHQ et les essais de Bret Victor. marimo fait partie d'un mouvement plus large vers la programmation réactive de flux de données. Depuis IPyflow, streamlit, TensorFlow, PyTorch, JAX et React, les idées de programmation fonctionnelle, déclarative et réactive transforment pour le mieux une large gamme d'outils.