// the find
flet-dev/flet
Build realtime web, mobile and desktop apps in Python only. No frontend experience required.
Flet lets you write cross-platform apps — web, desktop, iOS, Android — in pure Python by wrapping Flutter as the renderer and driving it from a Python process. It targets data scientists, backend developers, and anyone who needs a real GUI without learning Dart or JavaScript. Active development, 16k stars, and daily commits suggest it's past the proof-of-concept stage.
Flutter handles rendering, so you get genuinely native-feeling widgets (Material and Cupertino, not web components pretending to be native) without writing a line of Dart. The web deployment path via WebAssembly and Pyodide runs entirely client-side — no server needed for basic apps, which removes a whole tier of infrastructure. The included Python package support for mobile (numpy, pandas, opencv, pillow) is the real differentiator: a data scientist can ship a mobile app that actually uses their existing libraries. The .agents/skills/ directory shows they're thinking seriously about AI-assisted workflows — integration test generation, deprecation handling, release automation — which is ahead of most open-source projects this size.
The server-driven UI model bites you hard on web when running in server mode: every button click is a network round-trip to your Python process, so anything requiring snappy interaction feels sluggish on high-latency connections. The WASM/Pyodide client-side path sounds great until you hit a package with C extensions — many popular libraries fall back to server mode or break entirely, and the initial Pyodide bundle load is 5–10 seconds cold. Extending beyond the 150 built-in controls means writing Dart to wrap Flutter packages, which directly contradicts the 'no frontend experience required' pitch — you hit that wall earlier than you'd expect for non-trivial apps. Version migrations have historically been painful; the project has rewritten core internals multiple times, and apps written against older Flet versions often require significant rework to upgrade.