Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Flet logo

Build cross-platform apps in Python. No frontend experience required.

License Package version Monthly downloads Python >= 3.10 Build status Docstring coverage

Flet is a Python framework for building web, desktop, and mobile apps without prior experience in frontend development.

Try Flet online in Flet Studio

Create, run, and share Python apps in your browser. Start from an example, write your own code, or get help from the AI agent. No installation required.

   One Python codebase, six platforms

Build your interface and application logic in Python, and run your app on iOS, Android, Windows, macOS, Linux, and web. No Dart, Swift, Kotlin, HTML, or JavaScript required.

   150+ built-in controls and services

Create your interface with ready-made layouts, buttons, forms, navigation, and dialogs. Customize colors, typography, and themes, with Material and Cupertino controls to suit your app.

   Declarative UI for growing apps

Organize your app into reusable components and let the UI update when application state changes. Prefer changing controls directly? The imperative style is supported too. Compare the approaches.

   Your Python libraries, on mobile

Use libraries such as NumPy, pandas, Pillow, and cryptography in your mobile apps. Flet provides prebuilt binary packages for iOS and Android, so you don't have to compile native dependencies yourself.

   Run in the browser or on your server

Run Python directly in the browser with Pyodide and WebAssembly, with no Python server required. Or keep your Python code on a server and deliver real-time UI updates to the browser.

   Built-in packaging

Use flet build to package your app for desktop, mobile, or web distribution, including the App Store and Google Play. Configure dependencies, icons, and platform settings in your project's pyproject.toml.

   Test your app on desktop and mobile

Write integration tests with pytest and run them against your packaged app with flet test. Tap buttons, enter text, and verify user flows on desktop and mobile, with screenshot comparisons on Android and iOS.

   Build with help from AI

Explore and create apps with the AI agent in Flet Studio, or connect your coding assistant to the Flet MCP server for version-specific API information and tools to find examples and icons.

   Extensible

Build custom controls in Python by composing existing controls, or create extensions that wrap Flutter packages to add new UI components and platform integrations.

   Accessible

Add screen-reader labels, tooltips, keyboard shortcuts, and custom semantics to help more people use your app. Inspect the accessibility information your UI exposes with the semantics debugger.

Flet app example

This simple counter app displays a number in the center of the screen. Press the + button to increment it:

import flet as ft


def main(page: ft.Page):
    counter = ft.Text("0", size=50, data=0)

    def increment_click(e):
        counter.data += 1
        counter.value = str(counter.data)

    page.floating_action_button = ft.FloatingActionButton(
        icon=ft.Icons.ADD, on_click=increment_click
    )
    page.add(
        ft.SafeArea(
            expand=True,
            content=ft.Container(
                content=counter,
                alignment=ft.Alignment.CENTER,
            ),
        )
    )


ft.run(main)

To run the app, install flet:

pip install 'flet[all]'

Save the code as counter.py, then launch the app:

flet run counter.py

This opens the app in a native desktop window. The screenshot below shows it after pressing + three times:

To run the same app in your browser, add --web:

flet run --web counter.py

Learn more

Community

Contributing

Want to help improve Flet? Check out the contribution guide.

关于 About

Build realtime web, mobile and desktop apps in Python only. No frontend experience required.
androidcross-platformdesktopflutteriospythonserver-driven-uiweb

语言 Languages

Python74.7%
Dart20.9%
JavaScript2.0%
C++0.8%
CSS0.6%
CMake0.5%
Ruby0.1%
Swift0.1%
HTML0.1%
C0.0%
Dockerfile0.0%
Kotlin0.0%
Objective-C0.0%
Batchfile0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
425
Total Commits
峰值: 19次/周
Less
More

核心贡献者 Contributors