Skip to main content

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.

   Single code base for any device

Your app will equally look great on iOS, Android, Windows, Linux, macOS and web.

   Build an entire app in Python

Build a cross-platform app without knowledge of Dart, Swift, Kotlin, HTML or JavaScript - only Python!

   150+ built-in controls and services

Beautiful UI widgets with Material and Cupertino design: layout, navigation, dialogs, charts - Flet uses Flutter to render UI.

   50+ Python packages for iOS and Android

Numpy, pandas, pydantic, cryptography, opencv, pillow and other popular libraries.

   Full web support

Flet apps run natively in modern browsers using WebAssembly and Pyodide, with no server required. Prefer server-side? Deploy as a Python web app with real-time UI updates.

   Built-in packaging

Build standalone executables or bundles for iOS, Android, Windows, Linux, macOS and web. Instantly deploy to App Store and Google Play.

   Test on iOS and Android

Test your project on your own mobile device with Flet App. See your app updates as you make changes.

   Extensible

Easily wrap any of thousands of Flutter packages to use with Flet or build new controls in pure Python using built-in UI primitives.

   Accessible

Flet is built with Flutter which has solid accessibility foundations on Android, iOS, web, and desktop.

Flet app example

Below is a simple "Counter" app, with a text field and two buttons to increment and decrement the counter value:

import flet as ft

def main(page: ft.Page):
    page.title = "Flet counter example"
    page.vertical_alignment = ft.MainAxisAlignment.CENTER

    input = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)

    def minus_click(e):
        input.value = str(int(input.value) - 1)

    def plus_click(e):
        input.value = str(int(input.value) + 1)

    page.add(
        ft.Row(
            alignment=ft.MainAxisAlignment.CENTER,
            controls=[
                ft.IconButton(ft.Icons.REMOVE, on_click=minus_click),
                input,
                ft.IconButton(ft.Icons.ADD, on_click=plus_click),
            ],
        )
    )

ft.run(main)

To run the app, install flet:

pip install 'flet[all]'

then launch the app:

flet run counter.py

This will open the app in a native OS window - what a nice alternative to Electron! 🙂

To run the same app as a web app use --web option with flet run command:

flet run --web counter.py

Learn more

Community

Contributing

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

Metadata

Release files for flet 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flet 1.0.2
File Size Uploaded
flet-1.0.2.tar.gz 572.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flet 1.0.2
File Interpreter ABI Platform
flet-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / flet-1.0.2.tar.gz

Download URL flet-1.0.2.tar.gz
Size 572.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ab6461d16c1234e828bbdea9fa74f94b2675261fd970fe12ad45368f72f9b550
BLAKE2b-256 checksum
How to use checksums
209b7c97b21240e9146e1e73db917df741d8e30a2af30396e7f6093b55acf002
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / flet-1.0.2-py3-none-any.whl

Download URL flet-1.0.2-py3-none-any.whl
Size 634.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a46ddc9f9c7d779bfb56492d9d4b1bb16fa9b55c04e415b8b0b8f28e0f8b135
BLAKE2b-256 checksum
How to use checksums
3f3b514d5e500ff1183de30298b5cd4a0fbcf6eebefd14bf2c095afa6fb13060
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.0.4

2 release files

1.0.3

2 release files

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.86.4

2 release files

0.86.3

2 release files

0.86.2

2 release files

0.86.1

2 release files

0.86.0

2 release files

0.85.2

2 release files

0.85.1

2 release files

0.83.1

2 release files

0.83.0

2 release files

0.82.2

2 release files

0.81.0

2 release files

0.80.5

2 release files

0.80.4

2 release files

0.80.3

2 release files

0.80.2

2 release files

0.80.0

2 release files

0.28.3

1 release file

0.28.2

1 release file

0.28.1

1 release file

0.27.6

1 release file

0.27.5

1 release file

0.27.4

1 release file

0.27.3

1 release file

0.27.2

1 release file

0.27.1

1 release file

0.27.0

1 release file

0.26.0

1 release file

0.25.2

1 release file

0.25.1

1 release file

0.25.0

1 release file

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page