Streamlit

Turn a Python script into a shareable data app in minutes, with no frontend code

Framework
PyPI
v1.61.1
45,568stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
92/100Excellent
Development Activity100
Maintenance100
Community68
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
83/100Excellent
Architecture84
Code Quality85
Innovation80
Learning Curve82

Streamlit is a Python framework that turns a plain script into an interactive, shareable web app for data science, machine learning, and internal tooling — without writing any HTML, CSS, or JavaScript. You write top-to-bottom Python that calls Streamlit functions like st.write(), st.dataframe(), or st.slider(), and Streamlit re-runs the script on every interaction, rendering the result as a reactive web UI in the browser.

Under the hood, Streamlit pairs a Python backend (lib/streamlit) with a React/TypeScript frontend (frontend/) connected over a WebSocket/protobuf bridge, so widget state changes trigger a script re-run and a diffed re-render rather than a full page reload. The framework owns the entire app lifecycle — session state, caching, component rendering, and layout — making it a genuine application framework rather than a library you selectively import into an existing app.

What You Get

  • A rich widget library (st.slider, st.selectbox, st.file_uploader, st.chat_input, and more) that renders as reactive UI from plain Python calls
  • Built-in support for rendering dataframes, charts (via Matplotlib/Plotly/Altair/native chart elements), images, and media
  • st.cache_data / st.cache_resource for memoizing expensive computations and resources across script re-runs
  • Multipage app support and a session-scoped state model (st.session_state) for building stateful, navigable apps
  • A component system (Streamlit Components) for embedding custom React components when built-ins aren’t enough
  • A one-command local dev server (streamlit run app.py) and one-click deployment to Streamlit Community Cloud

Common Use Cases

  • Building internal dashboards and admin tools that visualize data without a dedicated frontend team
  • Prototyping and demoing machine learning models with interactive inputs and live inference results
  • Creating data exploration and EDA (exploratory data analysis) tools for sharing findings with non-technical stakeholders
  • Building lightweight LLM/chatbot front-ends using st.chat_input and st.chat_message for quick internal AI tools

Under The Hood

Architecture: Streamlit’s Python core (lib/streamlit) executes the user’s script top-to-bottom on a background thread per session, serializing UI updates as protobuf messages (defined in proto/streamlit) over a WebSocket connection to a React/TypeScript frontend (frontend/app, frontend/lib, frontend/component-lib) that reconciles and renders the diffed UI tree; widget interactions send events back over the same socket, triggering a fresh script re-run rather than a full page navigation.

Tech Stack: The backend is Python 60% by volume with a Tornado-based server, while the frontend is TypeScript/React (38%) built with a Yarn workspace monorepo (frontend/.yarn) covering the main app, a shared component library, and a custom ESLint plugin; protobuf defines the wire format between the two, and the project maintains a large e2e_playwright suite for cross-browser UI verification.

Code Quality: The repo shows very active, disciplined maintenance — ~198 commits/month, releases roughly 1.2 times per week, 334 contributors, and a specs/ directory containing dozens of dated RFC-style design documents (e.g. 2026-04-08-cache-background-refresh) for major features, indicating a deliberate design-review process rather than ad hoc changes; the lib/tests directory and e2e_playwright suite provide both unit and full browser-level coverage.

API Design: The core value proposition is developer experience — a single import streamlit as st and linear top-down script with no explicit event handlers, routing, or state machine required for basic use cases, though the underlying re-run-on-every-interaction model does require learning st.session_state and caching decorators (st.cache_data/st.cache_resource) once apps grow beyond trivial scripts.

Used by 6 apps in this directory

Python
66%
Apache 2.0

Agent Control

AI Agents

295

An open-source runtime control plane for AI agents — define safety guardrails once, apply them across agents built on LangChain, CrewAI, Google ADK, or AWS Strands, and update controls without redeploying code.

View details
79
Repo Health
71
Technical
70
Dependency
Built with
Python66%
TypeScript33%
Updated yesterday
TypeScript
59%
Other

agenta

Developer Tools · Devops · AI Development

4,489

The open-source LLMOps platform unifying prompt engineering, evaluation, and observability for teams building reliable LLM applications.

View details
91
Repo Health
77
Technical
67
Dependency
Built with
TypeScript59%
Python39%
Updated today
Python
100%
Other

OpenBB

Databases · Analytics · Invoicing Finance

72,027

The AI Workspace for Finance: Connect Data, Run AI Agents, Build Analytics

View details
82
Repo Health
80
Technical
68
Dependency
Built with
Python100%
Updated 2 weeks ago
HTML
66%
AGPL 3.0

ST3GG

Security · Developer Tools

1,726

The ultimate open-source steganography suite — hide anything in any file using 100+ encoding techniques, detect it all, and run everything 100% in your browser.

View details
47
Repo Health
74
Technical
77
Dependency
Built with
HTML66%
Python31%
Updated 2 months ago
Rust
93%
Other

Tabby

AI Code Assistants

33,828

Self-hosted AI coding assistant — run GitHub Copilot-grade code completion on your own hardware with no cloud dependency.

View details
61
Repo Health
78
Technical
63
Dependency
Built with
Rust93%
Updated 1 months ago
C++
75%
Apache 2.0

Timeplus Proton

Data Engineering · Analytics

2,241

Single C++ binary SQL engine for real-time stream processing, ETL, and analytics on Kafka, Redpanda, and ClickHouse with sub-millisecond latency.

View details
88
Repo Health
82
Technical
73
Dependency
Built with
C++75%
Python11%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search