Vor gut 4 Jahren ist Flet mit einer einfachen Idee gestartet: Wenn du Python kannst, sollst du plattformübergreifende Apps bauen können. Ohne Umweg über Dart, Swift oder Kotlin. Jetzt ist Flet 1.0 erschienen, und das Team gibt ein klares Versprechen: Das Framework ist bereit für deine Apps in der Produktion.
Flet: Ein Projekt, das erwachsen geworden ist
Die Zahlen zeigen, wie weit sich Flet entwickelt hat. Das Projekt hat mehr als 16.700 Sterne auf GitHub und rund 100 Contributors. Von PyPI wurde es über 9 Millionen Mal heruntergeladen. Über 1.000 Pull Requests wurden gemergt und 2.800 Issues geschlossen. Die Discord-Community zählt mehr als 6.000 Mitglieder. Wie vielfältig die Projekte aus der Community sind, siehst du in der Liste awesome-flet.
Daß Flet hervorragend für Python Desktop Apps geeignet ist, zeigt dieser Screenshot. Es zeigt eine Lizenz-Management Software mit Fake-Daten:

Was „Flet 1.0“ für dich bedeutet
Bei der Ankündigung der Alpha hatte das Team drei Dinge versprochen: mehr Zuverlässigkeit, bessere Dokumentation und mehr Tests. Mit 1.0 sind diese Versprechen eingelöst. Du kannst deine App also mit gutem Gefühl auf Flet bauen und sie am Laufen halten, während sich das Framework weiterentwickelt.
Tests auf jeder Ebene
Das eigentliche Argument für die Produktionsreife ist die Teststrategie. Sie reicht von einzelnen Python-Funktionen bis zur fertig paketierten App auf dem Gerät:
- Unit-Tests prüfen das Python-SDK mit Python 3.10 bis 3.14. Dazu kommen Tests für die Flutter-Seite von Flet.
- Integrationstests für Controls und Beispiele prüfen das Verhalten und vergleichen Screenshots. So fallen funktionale Fehler und visuelle Regressionen gleichermaßen auf.
- Tests für binäre Python-Pakete laufen auf Android und im iOS-Simulator. Die Mobile-Pipeline baut für Python 3.12, 3.13 und 3.14. Einen großen Anteil daran hat @ndonkoHenri.
flet build-Tests bauen Apps für Windows, macOS, Linux, iOS, Android und das Web, jeweils mit allen drei Python-Versionen. Android- und Web-Builds werden zusätzlich von mehreren Host-Betriebssystemen aus geprüft.flet test-Tests gehen noch weiter. Sie starten die paketierte App und bedienen sie tatsächlich, auf allen fünf nativen Plattformen und mit allen drei Python-Versionen, Linux ARM64 eingeschlossen.
Das alles läuft automatisiert in der CI, und du kannst es dir selbst ansehen: Framework-CI, Control-Tests, Build-Matrixund On-Device-Tests.
Dieselben Werkzeuge kannst du auch für deine eigenen Projekte nutzen. Integrationstests für deine App schreibst du mit pytest und führst sie mit flet test gegen die paketierte App aus, auf dem Desktop oder auf dem Smartphone. Dabei tippt dein Test auf Buttons, gibt Text ein und prüft komplette Abläufe. Auf Android und iOS kommen Screenshot-Vergleiche dazu.
Dokumentation direkt aus dem Code
Die API-Dokumentation wird aus den Python-Quellen generiert. Was du im Editor siehst, steht also genauso auf der Website. Screenshots und GIFs in der Doku stammen aus den Integrationstests, und die CI vergleicht sie mit Referenzbildern. Dafür hat das Team ein eigenes Werkzeug gebaut: CrocoDocs holt Docstrings, Querverweise, ausführbare Beispiele und generierte Medien in Docusaurus. Wie das funktioniert, liest du in diesem Beitrag.
Flet ist schneller in jeder Hinsicht
Seit der Alpha hat sich viel daran getan, wie schnell deine App reagiert und wie leicht sie zu deinen Nutzern kommt:
- Schnellere UI-Updates. Flet merkt sich geänderte Properties und spart sich unnötige Vergleiche. Die Benchmarks zu Version 0.83 zeigen beim Control-Diffing bis zu 6,7-fach schnellere Ergebnisse. Davon profitierst du mit imperativen und deklarativen Apps.
- Python und Dart im selben Prozess. In paketierten nativen Apps kommunizieren beide Laufzeitumgebungen über die dart-bridge direkt miteinander, ohne Sockets. Über eigene Datenkanäle kannst du Bilder und andere Binärdaten effizient streamen.
- Besseres Packaging. Beim Start fällt weniger Arbeit an, und Bytecode-Kompilierung ist standardmäßig aktiv. Das Android-Packaging wurde neu gebaut: Python-Pakete werden jetzt direkt aus der APK geladen, statt sie vorher zu entpacken.
Deine Python-Version, deine Bibliotheken
Flet kann Python 3.12, 3.13 oder 3.14 mit deiner App ausliefern. Du wählst die Version, die zu deinen Abhängigkeiten passt, und steigst um, wenn du so weit bist. Web-Builds nutzen das passende Pyodide-Release. Tipps zur Auswahl findest du in der Dokumentation.
Auch auf dem Smartphone soll sich Python wie Python anfühlen. Dazu gehört, dass du die Bibliotheken nutzen kannst, auf die du dich sonst verlässt. Der eigene Paketindex umfasst mittlerweile mehr als 100 Pakete. Darunter sind NumPy, pandas, Matplotlib, Pillow, SciPy, scikit-learn, cryptography und pydantic-core. Gebaut werden die Wheels für iOS und Android von der mobile-forge-Pipeline, inklusive Tests auf Mobilgeräten. Welche Pakete verfügbar sind, hängt vom Paket und von der Zielplattform ab. Native Abhängigkeiten musst du aber nicht mehr selbst cross-kompilieren.
Deklarative UI für größere Projekte
Mit Flet Declarative beschreibst du die Oberfläche als Funktion deines Anwendungszustands und teilst sie in wiederverwendbare Komponenten auf. Wenn deine App wächst, ist das deutlich übersichtlicher, als Controls über viele Event-Handler hinweg von Hand synchron zu halten.
Das Team setzt den Ansatz selbst ein: Flet Studio und die Flet-Mobile-App sind beide deklarative Flet-Apps. Probleme, auf die du stößt, findet das Team so oft selbst zuerst. Der imperative Stil wird weiterhin unterstützt. Welcher besser zu deinem Projekt passt, zeigt dir ein Vergleich beider Ansätze.
Flet-Updates ohne böse Überraschungen
„Wir versprechen, nicht mehr so oft alles kaputtzumachen“, schreibt das Team mit einem Augenzwinkern. Dahinter steht eine ernste Absicht. Jede API-Änderung bedeutet Arbeit für dich, wenn du eine App pflegst.
Die neue Kompatibilitätsrichtlinie regelt deshalb Folgendes: APIs werden nach Möglichkeit erst als veraltet markiert und dann entfernt. Du bekommst Warnungen und Hinweise auf den Ersatz. Die Übergangsfrist beträgt standardmäßig drei Minor-Releases. Alles, was du anpassen musst, findest du gesammelt unter Breaking Changes und Deprecations.
Leichterer Einstieg in Flet, auch mit KI
Zwei Werkzeuge erleichtern dir den Start:
- Flet Studio läuft komplett im Browser. Du kannst Beispiele ausprobieren, Apps forken, bearbeiten und teilen. Ein eingebauter KI-Agent hilft dir bei der ersten Version, und du kannst das Projekt jederzeit herunterladen und lokal weiterentwickeln. So kommst du schnell von „Ob ich das wohl bauen könnte?“ zu etwas, das du ausprobieren kannst.
- Der Flet MCP Server versorgt deinen KI-Coding-Assistenten im Editor mit API-Informationen zu genau der Flet-Version, die du nutzt. Er hilft außerdem beim Suchen nach Beispielen, Icons und CLI-Optionen.
Flet: Bereit heißt nicht fertig
Version 1.0 ist ein Meilenstein und kein Endpunkt. Die Roadmap für 2026 und 2027 hat drei Schwerpunkte:
- Flet Framework: neuere Flutter- und Python-Versionen, zusätzliche UI-Stile wie ShadCN, Fluent, macOS und Yaru, Unterstützung für BLE und NFC, mehr Sensor-Beispiele und eine weiter verbesserte Dokumentation.
- Flet Studio: GitHub-Integration, eine Desktop-Version, eine größere Galerie, MCP-Unterstützung und eine CLI, mit der du Studio-Dienste aus deiner lokalen Entwicklung heraus nutzen kannst.
- Fletbase: Backend-Dienste für Flet-Apps, darunter Cloud-Packaging, Veröffentlichung in App Stores, statisches Web-Hosting, Datenbanken, Dateispeicher und Authentifizierung.
Das Ziel dahinter: Du sollst mehr Zeit mit deiner App verbringen, während dir die Werkzeuge die Arbeit drumherum abnehmen, vom ersten Experiment bis zur Veröffentlichung und Pflege.
So gelingt dein Flet Upgrade
Wenn du pip nutzt:
|
1 2 |
pip install 'flet[all]' --upgrade |
Wenn du uv mit pyproject.toml nutzt und alle Abhängigkeiten aktualisieren willst:
|
1 2 |
uv sync --upgrade |
Wenn du nur die Flet-Kernpakete aktualisieren willst:
|
1 2 3 4 5 |
uv sync --upgrade-package flet \ --upgrade-package flet-cli \ --upgrade-package flet-desktop \ --upgrade-package flet-web |
Ist in deinem Projekt eine ältere Flet-Version festgeschrieben, passt du zuerst die Versionsangaben in pyproject.toml oder requirements.txt an. Erweiterungen wie flet-audio oder flet-video solltest du ebenfalls auf ihr passendes 1.0-Release heben. Wirf vor dem Upgrade einen Blick in die Migrationshinweise zu 1.0. Dort geht es unter anderem um entfernte APIs und Änderungen an InputBorder.
Achtung, wenn du von 0.28.x kommst: Flet 1.0 ist hier kein Drop-in-Ersatz. Der Leitfaden Migrating from Flet 0.28 to 1.0 führt dich Schritt für Schritt durch die Migration. Besonders wichtig ist das neue Single-Thread-Modell. In 0.28 lief jeder synchrone Event-Handler in einem eigenen Thread, sodass blockierender Code deine Oberfläche nie eingefroren hat. In 1.0 laufen Handler dagegen im Event-Loop der App. Code, der vorher problemlos lief, macht deine App jetzt träge, bis du ihn aus dem Loop auslagerst.

Fazit
Mit Flet 1.0 wird aus einem vielversprechenden Projekt ein Framework, auf das du ernsthaft setzen kannst. Dafür sprechen die breite Testabdeckung, das klare Versprechen zur Kompatibilität und die Unterstützung wichtiger Python-Bibliotheken auf Mobilgeräten.
Meine persönlichen HiLights auf der Flet Roadmap sind die ShadCN und macOS Themes sowie AppStore Deployments.
Es bleibt sehr sehr spannend :-)
Du kennst Flet noch nicht? Dann starte mit dem Getting-Started-Guide oder probiere es direkt im Browser mit Flet Studio aus.
