Open-source, privacy-first analytics for mobile, desktop and web apps, offered as an alternative to Firebase and Google Analytics.
flet-dev/flet
Python framework for building web, desktop and mobile apps with a Flutter-based UI, no frontend experience needed.
- Stars
- 17,392
- Forks
- 732
- Open issues
- 269
- Last commit
- 13 hours ago
What is it?
Flet lets developers write both the interface and the application logic in Python. Apps built with it run on iOS, Android, Windows, macOS, Linux and the web, and the framework ships with more than 150 built-in controls covering layouts, forms, navigation and dialogs, styled with Material and Cupertino designs.
Flet supports two UI styles: declarative, where reusable components re-render when state changes, and imperative, where controls are updated directly. Python apps can run in the browser through Pyodide and WebAssembly, or keep their code on a server and push real-time UI updates to the browser. Libraries such as NumPy, pandas and Pillow can be used in mobile apps through prebuilt binary packages.
The project includes `flet build` for packaging apps for desktop, mobile and web distribution, and `flet test` for running pytest-based integration tests against packaged apps. Custom controls can be built by composing existing ones or by wrapping Flutter packages.
Key features
- 01Single Python codebase targets six platforms: iOS, Android, Windows, macOS, Linux and web.
- 02150+ built-in controls with Material and Cupertino styling.
- 03Declarative and imperative UI styles are both supported.
- 04Python apps can run in the browser via Pyodide or be served with real-time updates.
- 05`flet build` packages apps for desktop, mobile and web distribution.
- 06`flet test` runs pytest integration tests against packaged apps.
Use cases
- Building internal tools or dashboards in Python without learning JavaScript or Dart.
- Shipping a single Python app to desktop, mobile and web.
- Creating mobile apps that use NumPy, pandas or Pillow.
- Prototyping a GUI for a Python script or data workflow.
Quick start
- 1
Install the flet package
pip install 'flet[all]' - 2
Save the counter example as counter.py (copy the code from the README)
- 3
Launch the app in a native desktop window
flet run counter.py - 4
Optionally run the same app in your browser
flet run --web counter.py
Things to know
- Mobile packaging and some features need extra tooling such as flet build, which adds setup complexity.
- Running Python on mobile with native libraries depends on Flet's prebuilt binary packages.
Topics
FAQ
- What is flet?
- Python framework for building web, desktop and mobile apps with a Flutter-based UI, no frontend experience needed. Flet lets developers write both the interface and the application logic in Python. Apps built with it run on iOS, Android, Windows, macOS, Linux and the web, and the framework ships with more than 150 built-in controls covering layouts, forms, navigation and dialogs, styled with Material and Cupertino designs.
- Is flet free to use? What license does it have?
- flet is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is flet still maintained?
- Actively maintained. The last commit to flet was on Oct 19, 2026.
- What can I use flet for?
- Building internal tools or dashboards in Python without learning JavaScript or Dart. Shipping a single Python app to desktop, mobile and web. Creating mobile apps that use NumPy, pandas or Pillow. Prototyping a GUI for a Python script or data workflow.
- How do I install flet?
- Install the flet package: pip install 'flet[all]' Save the counter example as counter.py (copy the code from the README) Launch the app in a native desktop window: flet run counter.py Optionally run the same app in your browser: flet run --web counter.py
- Where can I get flet?
- The source code and installation instructions are on GitHub: https://github.com/flet-dev/flet
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open-source framework for building universal native apps with React that run on Android, iOS, and the web.
An MCP server that lets AI agents and LLMs automate iOS and Android apps on simulators, emulators and real devices.
A Flutter app for monitoring Linux, Unix and Windows server status and managing servers over SSH from iOS, Android, macOS and other platforms.
An open-source, free AI agent app for iOS and Android that gives models like Claude and GPT a sandboxed Linux shell, browser automation and device tools.
Open-source password manager built with Flutter for mobile, desktop and web, compatible with KeePass 2.x KDBX 3 and KDBX 4 databases.