Mesop
Google's Python UI framework for building web apps with composable, stateful components.
About
Mesop is Google's open-source Python framework for building web UIs aimed at ML demos, data apps, and internal tools. Instead of the top-to-bottom rerun model popularized by Streamlit, Mesop uses an event-driven component model closer to Angular or React: UI is built from composable components, and interactions fire event handlers that mutate typed state.
That design makes multi-page apps with shared state, custom components, and richer interaction patterns more natural than in rerun-based frameworks, at the cost of a steeper learning curve for quick prototypes. Mesop ships with hot reload, a built-in component library, and a Python-only workflow (the frontend is generated), and it is Apache-2.0 licensed. Google positions it for teams that want internal ML tooling without a frontend stack.
What it can do
- Composable, event-driven Python components with typed state
- Hot reload development server with multi-page app support
- Built-in component library (forms, tables, dialogs, charts)
- Custom component authoring in Python
- Deployable as a standard web app container
Setup
pip install mesop, write a page module with @me.page and mesop components, then run mesop your_app.py to preview with hot reload.
Prerequisites
Python 3.10+; no frontend experience required.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (verified tier, metrics-v1). Evidence: 6,585 GitHub stars (mesop-dev/mesop); pushed 2026-09-26 (recent activity); Apache-2.0 license confirmed in repo; Google-authored framework; officialUrl https://mesop-dev.github.io/mesop/ curl-verified 200; PyPI project verified 200. Manual review: component/event-driven model vs Streamlit rerun model verified against official docs; positioning for ML demos/internal tools is Google's stated framing. License: Apache-2.0.
★ 6,585 GitHub stars
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.