Streamlit documentation

Streamlit is the agent-native, open-source Python framework for data apps and dashboards. Build apps in Python yourself, or with your coding agent. Apps are plain, readable Python, with no frontend or API layer, and Streamlit handles the interface, state, caching, sign-in, theming, and upgrades.

calculate

Apps that compute

Forecasts, simulations, and models with what-if levers, in Python next to the data.

task_alt

Apps that act

Review and approval queues with editable tables, forms, and writeback.

dashboard

Advanced dashboards

Fast, interactive dashboards over large data, with cross-filtering and drill-down.

rocket_launch

Get started with Streamlit! Set up your development environment and learn the fundamental concepts, and start coding!

smart_toy

Build with AI agents using Streamlit's bundled agent skills. Run streamlit skills once, ask your coding agent for a Streamlit app, and let other agents use your app as a tool over MCP.

description

Develop your Streamlit app! Our API reference explains each Streamlit function with examples. Dive deep into all of our features with conceptual guides. Try out our step-by-step tutorials.

cloud

Deploy your Streamlit app! Streamlit Community Cloud our free platform for deploying and sharing Streamlit apps. Streamlit in Snowflake is an enterprise-class solution where you can house your data and apps in one, unified, global system. Explore all your options!

school

Knowledge base is a self-serve library of tips, tricks, and articles that answer your questions about creating and deploying Streamlit apps.

grid_view

Responsive grids

Use st.grid to lay out metric cards, galleries, and dashboard panels that reflow with the available width.

palette

Refreshed default theme

The built-in light and dark themes have a warmer palette and show widget and sidebar borders by default.

view_sidebar

Side drawer dialogs

Set position="left" or position="right" on st.dialog to open it as a full-height side drawer.

accessibility_new

Alt text for elements

Use the alt parameter to give images, media, charts, maps, and dataframes an accessible name for screen readers.

insert_chart

ECharts charts

st.echarts_chart renders Apache ECharts options with Streamlit theming. Pass a dict, a JSON string, or a pyecharts chart.

sync

Async app code

Use async/await and popular async libraries directly in your Streamlit apps. The caching decorators work with async def functions too.

View all updates

Join the community

Streamlit is more than just a way to make data apps, it's also a community of creators that share their apps and ideas and help each other make their work better. Please come join us on the community forum. We love to hear your questions, ideas, and help you work through your bugs — stop by today!

View forum

Other Media