Flet 1.0 is now available on PyPI, marking the first major release of the open source Python framework that renders UI components using Flutter under the hood. The team announced the version is ready for production use roughly four years after the project began.
In this article
The release requires Python 3.10 or newer for the SDK and installs via the standard command: pip install 'flet[all]'. Running flet build generates artifacts for Windows, macOS, Linux, iOS, Android, and the web. The command line interface accepts eight specific targets: apk, aab, ipa, ios-simulator, windows, macos, linux and web.
Testing coverage
The framework runs unit tests across Python versions from 3.10 to 3.14, alongside tests for the Flutter side. Control and example integration tests check behaviour and compare screenshots to catch functional bugs and visual regressions.
Python binary package tests exercise native libraries on Android and the iOS simulator, with the mobile pipeline building for Python 3.12, 3.13 and 3.14. Integration tests compile apps across those Python versions for all six platforms, while flet test launches a packaged app and drives it on all five native platforms, including Linux ARM64.
Developers can write similar tests for their own applications. Integration tests use pytest and run via flet test against the packaged build, with screenshot comparison on Android and iOS.
Python versions and mobile libraries
Flet bundles Python 3.12, 3.13 or 3.14 with your app, and web builds use the corresponding Pyodide release. Documentation explains how to choose a Python version.
The Flet package index now lists more than 100 packages. This includes NumPy, pandas, Matplotlib, Pillow, SciPy, scikit-learn, cryptography and pydantic-core, plus supporting native libraries. The mobile-forge pipeline automates wheel builds for iOS and Android. Availability still depends on the package and the target.
Performance and packaging
The framework now tracks changed properties and skips unnecessary comparisons during UI reconciliation. Benchmarks from version 0.83 measure up to 6.7x improvement in control diffing.
In packaged native apps, dart-bridge lets the Python and Dart runtimes talk inside one process. This removes the need for sockets, using dedicated channels for binary data instead.
Packaging enables bytecode compilation by default. Redesigned Android packaging loads Python packages directly from the APK without extraction.
Declarative UI
Flet Declarative describes UI as a function of application state, organised into reusable components. Flet Studio and the Flet mobile app are themselves declarative Flet apps. The imperative style remains supported. Documentation compares both approaches.
Compatibility and AI tooling
The compatibility policy deprecates APIs before removal, with a default deprecation period of three minor releases.
The Flet MCP server gives AI coding assistants version specific Flet API information, plus tools for finding examples, icons and CLI options. Flet Studio runs in the browser with a built in AI agent, and projects can be downloaded for local development.
Interactive explainer
The embed below walks through five mechanics: the build pipeline across eight targets, declarative versus imperative state, the CI test layers, runtime bundling with mobile wheels, and the event loop trap. Colors follow Flet’s own brand tokens.
What it means
Developers can write production code in Python without needing Dart, Swift, Kotlin or JavaScript. The framework bundles the interpreter and libraries, allowing a single codebase to target mobile, desktop and web. For teams already using Python, this removes the friction of managing multiple language runtimes while maintaining access to native performance.




