Flyte 2 : orchestration Python-native pour les charges de travail ML
Ce projet transforme « Dynamic, resilient AI orchestration. Coordinate data, models, and compute as you build AI workflows. » en une solution open source exploitable, avec une chaîne d’outils réutilisable et des moyens d’intégration pour des cas d’usage concrets.
En bref
- De quoi s’agit-il ?
- Le README décrit Flyte 2 comme un système d'orchestration durable et centré sur Python pour le machine learning, dont le backend Kubernetes est encore en développement.
- À qui s’adresse-t-il ?
- Le README présente Flyte 2 comme un système d'orchestration Python-natif offrant une API simple pour les workflows et le service de modèles, et il oriente vers Union.ai pour une utilisation en production immédiate tandis que le backend open source est encore en cours de développement.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Go, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
L'état de la version de Flyte 2
Le README s'ouvre sur un encadré indiquant que Flyte 2 est désormais généralement disponible, avec un lien vers une annonce sur Union.ai et un Devbox pour les exécutions locales. Le projet se décrit comme un moyen d'orchestrer de manière fiable des pipelines ML, des modèles et des agents à grande échelle en Python pur. Selon le README, Flyte est un projet diplômé de la LF AI & Data Foundation. Les métadonnées du dépôt indiquent Go comme langage principal, mais la documentation et les exemples du README sont entièrement orientés Python, ce qui fait du SDK Python la surface utilisateur documentée ici.
Installation du paquet Python
Le README donne une commande unique pour l'installation : `uv pip install flyte`. Pour une expérience de développement locale plus riche, il montre également `uv pip install flyte[tui]`. Le README renvoie au dépôt séparé flyte-sdk pour le SDK complet et les outils de développement. Aucune autre méthode d'installation ni exigence système n'est listée, donc tout ce qui dépasse ces commandes n'est pas couvert par le README.
Un exemple de workflow minimal
L'exemple définit un TaskEnvironment nommé "hello_world" avec une image basée sur Debian pour Python 3.12. Dans cet environnement, deux tâches sont déclarées : une tâche synchrone `calculate` qui retourne `x * 2 + 5`, et une tâche asynchrone `main` qui rassemble les résultats de l'appel à `calculate.aio` sur une liste de nombres et retourne leur moyenne. Le script appelle `flyte.init()` et `flyte.run(main, numbers=list(range(10)))`, puis affiche le résultat. Le README montre l'exécution avec `python hello.py` ou avec la CLI Flyte sous la forme `flyte run hello.py main --numbers '[1,2,3]'`.
Servir un modèle avec FastAPI
Un deuxième exemple montre comment servir un modèle. Il importe `FastAPI` et `FastAPIAppEnvironment` depuis `flyte.app.extras`, crée une application FastAPI et l'attache à un environnement avec une image contenant FastAPI et uvicorn. Un endpoint `/predict` est défini, et le service est démarré avec `flyte.init_from_config()` et `flyte.serve(env)`. Le README fournit à la fois les invocations Python et CLI : `python serving.py` et `flyte serve serving.py env`.
Développement local et TUI
Le README met en avant une TUI pour le développement local, installée via l'extra `[tui]`. Il renvoie également à une démo hébergée dans le navigateur qui ne nécessite aucune installation. Au-delà de ces deux indications, il ne décrit pas les fonctionnalités de la TUI ni les capacités de la démo. Les liens de documentation pour les références SDK et CLI sont fournis sous forme d'URLs externes.
Disponibilité du backend et chemin vers la production
Le backend open source de Flyte 2 est décrit comme "à venir". Ce dépôt est destiné à contenir l'infrastructure backend native Kubernetes pour déployer Flyte 2 en tant que service distribué multi-nœuds. Le README renvoie à un README spécifique au backend dans `docs/BACKEND_README.md` pour l'état actuel, les définitions de tampons de protocole et le guide de contribution. Pour un backend prêt pour l'entreprise et la production aujourd'hui, le README oriente vers Union.ai. Il ne fournit pas de calendrier ni de détails techniques sur le backend au-delà de cela.
Le Devbox réduit le premier obstacle
Flyte 2 propose un Devbox local et la commande uv pip install flyte, avec l'option flyte[tui] pour l'interface terminal. Cette porte d'entrée est utile pour comprendre les tâches, workflows et exécutions sans commencer par un cluster. Le README renvoie aussi vers flyte-sdk pour le SDK complet. Il faut donc distinguer le paquet installé, l'environnement local et les composants distribués nécessaires à une équipe ; la page d'accueil ne décrit pas toutes les exigences d'une topologie de production.
Passer d une fonction Python à un workflow
Un premier scénario Flyte doit contenir deux tâches Python, un artefact intermédiaire et une exécution observable. Comparez le code local avec le résultat affiché par le Devbox, puis examinez la reprise après échec et la gestion des paramètres. Le projet annonce une orchestration résiliente de données, modèles et agents, mais le README ne chiffre ni coût ni latence. Ces observations propres au workflow choisi doivent guider le choix entre un essai local et un déploiement plus large.
Conclusion éditoriale
Le README présente Flyte 2 comme un système d'orchestration Python-natif offrant une API simple pour les workflows et le service de modèles, et il oriente vers Union.ai pour une utilisation en production immédiate tandis que le backend open source est encore en cours de développement.
Notes de la communauté