
Explore building data apps with streamlit end to end, covering layouts, data display, visualizations, text analysis, file upload and download, and deployment to streamlit community cloud from GitHub.
Learn Streamlit, an open source framework to build data apps in Python, turning scripts into dashboards and ML apps. Discover pre-built templates and deployment options for sharing insights from data.
Learn how to install Streamlit by preparing Python and pip, setting up PyCharm as the IDE, creating a virtual environment, and testing the installation on Windows, Mac, or Linux.
Learn to display and format text in Streamlit with write, markdown, title, header, subheader, caption, code, LaTeX, and text, including emojis and HTML anchors.
Display data in streamlit for data apps using interactive data frames, static tables, and matrices to generate reports, metrics, and insights. Format with pandas styler to compare metrics against references.
Display and format data frames in a Streamlit app using pandas data frames or other sources, with interactive sorting, searching, copying, and resizing, plus optional styling with pandas styler.
Display static tables in Streamlit from data frames or dictionaries without interactivity, and present KPIs with delta indicators, labels, tooltips, colors, and units.
Explore Streamlit widgets that let users interact with apps and dynamically change behavior with minimal code. Learn common widgets like buttons, checkboxes, sliders, and text or date inputs.
Learn to build interactive Streamlit apps with button, download button, and checkbox widgets, including callbacks, tooltips, keys, mime types, and dictionary configurations.
Explore how to implement a radio button widget in streamlit, displaying a list of options, returning the selected value, and controlling layout, formatting, and label visibility.
Learn to build a select box dropdown for single-value selection in streamlit and use a format function to display uppercase, noting the widget returns the original value.
Master Streamlit multiselect and slider widgets to build data apps. Render dropdowns for multiple selections, set defaults and limits, format displays, and configure range sliders with min, max, and steps.
Learn to build the Streamlit text input widget to capture single-line text (user IDs or passwords) with defaults, placeholders, and type options, and to display the entered input.
Demonstrates building Streamlit widgets for numeric input, date and time, with min, max, step, and default values, plus date ranges and time intervals. Useful for travel date planning.
Learn to build a streamlit app with multi-line text area and a file upload widget, supporting single or multiple file uploads and displaying results as a data frame or string.
Explore visualization and charting in streamlit by displaying line, bar, area charts and maps using Matplotlib, Vega-Lite, Altair, Plotly, and Bokeh in Python scripts.
Explore line, area, and bar charts in streamlit with auto-guessing of x and y from data frames, Altair underpinnings, and pyplot rendering for matplotlib figures.
Build interactive charts in Streamlit using wrappers for Altair, Plotly, and Bokeh to generate and display Altair, Plotly, and Bokeh visuals.
Learn to generate and render 3d maps in a streamlit app using pydeck, with sample data from pandas data frames and coordinates around New York City.
Explore Streamlit layout and containers, arranging UI elements with sidebar, columns, tabs, expander, and empty containers to build interactive data apps.
Explore building a Streamlit sidebar with widgets like radio buttons and select boxes using direct syntax or a with statement. Learn to structure layouts and display a data frame.
Create a three-column layout to place a data frame, chart type options, and a chart display side by side, with a specified gap and columns of equal or weighted widths.
Create a three-tab layout in a Streamlit app. Display a data frame in tab one, render a bar chart in tab two, and enable csv download in tab three.
Explore the Streamlit expander component to build expandable containers that hold multiple elements, with customizable labels, default collapsed behavior, and support for markdown, emojis, and LaTeX.
Learn to use an invisible container as a placeholder in Streamlit to hold elements, insert widgets in and out of order, and render bar chart and line chart inside it.
Explore how an empty container serves as a single-element placeholder in Streamlit, then extend it with a child container to display multiple elements like text and an area chart.
Explore Streamlit status elements to display progress and messages with animations. Implement progress bars, spinners, errors, warnings, info, success, exceptions, balloons, and snow to enrich user feedback.
Explore Streamlit status widgets, including progress bars and spinners, to display info, success, warning, error, and exceptions with icons and temporary versus persistent messages and animations.
Explore Streamlit caching with the decorator to store a function's output, speeding up time-consuming calls, controlled by ttl and checks on inputs and variables.
Explore how to enable caching in Streamlit to speed up apps by avoiding repeated function executions, illustrated with a number square example and the cache data and cache resources concepts.
Explore how Streamlit session state shares a variable between reruns, read and modify widget content, and initialize values with unique keys using dictionary-like syntax, via a practical sample.
Explore how to use session state to read a widget's content at runtime, and auto-fill the billing address from shipping using a unique key and a checkbox.
Apply theming to a Streamlit app by configuring colors via config.toml. Set base page configurations such as title, icon, layout centered or wide, and initial sidebar state with set_page_config.
Configure a Streamlit data app that filters World Cup winners by year with a slider, using pandas, and set theming and page config via a toml config and icons.
Explore control flow in Streamlit by understanding how statements execute in scripts and how to manage app execution, with a sample app to practice handling flow.
Halt app execution using start stop to enforce blank checks on a text input for user id, display a warning, and control flow with the stop function and if condition.
Group all form widgets inside a Streamlit form to batch-submit them with the submit button, and note that a form must include a submit button and cannot include specific buttons.
Explore Streamlit community cloud to deploy and share apps for free, choose private or public sharing, connect a Git repository, and auto update when code changes.
Deploy your Streamlit app to the Streamlit community cloud by connecting your GitHub repository and uploading code. Share your app publicly or privately with a generated link after signing up.
Welcome to "Building Data Apps with Streamlit"! In this comprehensive course, you will learn how to leverage the power of Streamlit to build interactive and user-friendly data applications.
Streamlit is a Python library that allows you to quickly and easily create web-based data apps with just a few lines of code. It simplifies the process of building interactive dashboards, visualizations, and data exploration tools, making it an ideal choice for data scientists, analysts, and developers.
Here's a breakdown of the main topics covered in the course:
1. Introduction
Welcome to the course
What is Streamlit and Why Learn Streamlit
Getting started and Installation
2. Displaying text/messages in Streamlit
Different ways to display text on the app- markdown, title, header, sub-header, help text, LaTex
3. Displaying Data on the App
Different ways to display data, tabular data in streamlit
How to display/format dataframe using streamlit
How to display Metrics/KPIs and static table in Stream
4. Input Widgets
Widgets in Streamlit
Button, Download-button and Checkbox
Radio Button
Select box
Multi values selection, Sliding bar
Text input( widget to input single text line)
Widgets to input number, Date and Time
Text Area to input larger text, File upload
5. Visualizations and Chart in Streamlit
Introduction
Line chart, Bar chart, Area chart and Pyplot
Altair chart, Plotly, Bokeh Interactive Chart
Pydeck and Map using streamlit
6. Layout and Containers in Streamlit
Introduction
Sidebar
Columns
Multi Tabs layout
Expander
Container
Empty
7. Status Element
Introduction to status widgets
Widgets for status messages-warning, error, success, exceptions, waiting
8. Control Flow in Streamlit
Introduction
How to halt the processing of the App using Control flow
Form and Form Submit button
9 Advanced Concepts
9.1 Caching in Streamlit
Introduction to Caching in streamlit
How to improve the app's performance using Caching
9.2 Session State
Introduction
How to use session state to populate widget
9.3 Theming and Page Configuration
Introduction
How to configure Theme and Page in Streamlit App
10. Deploy and share streamlit App using Cloud
Introduction to streamlit community cloud
Integrate GitHub to community cloud and deploy app
11. Project: Build and Deploy Work Order Management App
Introduction to Work Order Management App
High level design and Pseudocode
Development and Deployment of the App
12. Congratulations and Bonus chapter