App design concepts and considerations

Best practices for building Streamlit apps

Follow recommended patterns for styling, layout, widgets, navigation, state, security, and type checking.

Build advanced dashboards

Build fast, interactive dashboards over large data with lazy-loading tables, background cache refresh, partial reruns, cross-filtering, and shareable views. Learn how to move Power BI and Tableau dashboards to Streamlit and modernize them on the way.

Edit and write back data

Build apps that act: review and approval queues, sign-offs, and planning input with editable tables, forms, validation, and writeback.

Using layouts and containers

Arrange and organize elements with columns, tabs, expanders, flex layouts, and dynamic containers.

Update and replace elements

Understand how Streamlit commands return objects you can use to update, replace, or clear elements in place.

Button behavior and examples

Understand how buttons work with explanations and examples to avoid common mistakes.

Dataframes

Dataframes are a great way to display and edit data in a tabular format. Understand the UI and options available in Streamlit.

Choosing and using charts

Pick the right chart command, keep charts consistent, use chart selections, and chart large datasets.

Optimizing app performance

Make your app fast and responsive with caching, fragments, forms, render order, and loading states.

Using custom Python classes in your Streamlit app

Understand the impact of defining your own Python classes within Streamlit's rerun model.

Multithreading

Understand how to use multithreading within Streamlit apps.

Working with timezones

Understand how to localize time to your users.

forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.