GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - flet-dev/flet: Build realtime web, mobile and desktop apps in Python only. No frontend experience required.

BranchesTags
Open more actions menu

Latest commit

 

History

1,712 Commits
1,712 Commits

Folders and files

NameName
Last commit message
Last commit date
.agents/skills
.agents/skills
 
 
.github
.github
 
 
client
client
 
 
docker/flet-build
docker/flet-build
 
 
media
media
 
 
packages
packages
 
 
sdk/python
sdk/python
 
 
tools/crocodocs
tools/crocodocs
 
 
website
website
 
 
.fvmrc
.fvmrc
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.ruff.toml
.ruff.toml
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

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

  • Website
  • Documentation
  • Roadmap
  • Apps Gallery

Community

  • Discussions
  • Discord
  • X (Twitter)
  • Bluesky
  • Email us

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.

flet.dev

Topics

androidcross-platformdesktopflutteriospythonserver-driven-uiweb

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

17.5k stars

Watchers

146 watching

Forks

749 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.