Flet is a Python framework for building web, desktop, and mobile applications. It requires no prior frontend development experience.

Platform Support

  • Web
  • Desktop
  • Mobile
  • Getting Started

    Installation

    pip install 'flet[all]'
    

    Creating and Running an App

    Example counter.py:
    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) page.update() # Added for clarity, though not in original

    def plus_click(e): input.value = str(int(input.value) + 1) page.update() # Added for clarity, though not in original

    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:

    flet run counter.py
    

    To run as web app:

    flet run --web counter.py
    

    Further Resources

  • [API Reference](https://docs.flet.dev/api-reference/)
  • [Cookbook](https://docs.flet.dev/cookbook/)
  • [Publishing Apps](https://docs.flet.dev/publish/)
  • [Extending Flet](https://docs.flet.dev/extend/user-extensions/)