
Begin by mastering Python fundamentals (version 3.8 or higher and basic familiarity), with an optional appendix to build confidence, so you can focus on streamlit.
Learn to build interactive data apps quickly with Python using Streamlit, emphasizing simplicity, speed, and data-centric workflows for dashboards and tools.
Set up your development environment by installing Python 3.8+, creating and activating a virtual environment with venv, then installing and verifying Streamlit 1.41.1 for your data apps.
Create your first Streamlit app by writing a simple hello world in app.py, run it locally with Streamlit, and view live updates on localhost:8501.
Master text, regular text, and markdown in Streamlit by using titles, headers, subheaders, and code blocks to build clear layouts, tables, and data frames.
Build a personal bio app in Streamlit by rendering markdown with headers, bold and italic text, lists, links, and tables, and optionally add images and emojis.
Walk through a practical Streamlit solution using title headers, bold and italic text with asterisks, lists, links to GitHub, markdown tables, emojis, and an image rendered from a local path.
Display data tables in streamlit apps by loading a csv with pandas into a data frame, then render interactive or static tables with a single line.
Create visual data stories with Streamlit's built-in charts, generating line, area, and bar charts from a data frame of sales and expenses; customize with colors and multi-variable plots.
Explore how to enhance Streamlit apps by integrating Matplotlib and Plotly for customizable, interactive charts, covering setup, figure and axis creation, and multi-type visualizations beyond Streamlit's built-in charts.
Create interactive line charts in Streamlit using Plotly Express to visualize sales and expenses over time, customize layout, colors, and markers, and leverage Plotly's built-in interactivity.
Master advanced matplotlib customization to turn a simple line chart into a bespoke visualization using figure size, markers, colors, axis labels, title, grid, legend, annotations, and spines.
Build a streamlit app that loads regional sales data from csv and visualizes a north line chart, a region-average sales bar chart, and a monthly multivariate area chart by region.
Read regional sales data with pandas, filter the north region, and plot a line chart of sales and expenses. Build a regional average bar chart and a pivoted area chart.
Fix the axis order by making month an ordered categorical in pandas, then apply the conversion in the Streamlit app to display January through December with a July peak.
Explore how streamlit widgets turn static displays into interactive, real-time data apps, with buttons, sliders, text inputs, and dropdowns that capture user input in Python.
Build interactive apps with Streamlit using button, text input, slider. Capture input, trigger actions, reverse and capitalize names, and use a 0 to 120 age slider in steps of 25.
Build a streamlit app using select box, radio, and checkbox to capture language, experience, and frameworks from a csv, then save a user profile to json.
Build a streamlit app to filter products by category via select box, price range via slider, minimum rating, and a case-insensitive name search with automatic filtering and no apply button.
Build an interactive Streamlit app that dynamically filters a products dataframe by category, price range, and rating, plus a search term, and displays results in a live table.
Discover how to use Streamlit columns to place content side by side, organize layouts with two or more columns, and adjust proportions to create cleaner, more usable dashboards.
Master tabs in Streamlit to segment content into distinct, navigable sections with tabbed interfaces, where switching unmounts previous content. Create tab containers and use widgets for interactive content.
Use streamlit expanders to hide or reveal content on demand, keeping interfaces clean while providing access to advanced options and raw data. Control default expansion state and nest widgets inside.
Master Streamlit advanced layouts by using container elements to group elements, create dynamic layouts with placeholders and empty containers, and manage loading states with progress bars and real-time data plots.
Leverage Streamlit sidebars and a dynamic multi-select to filter a data frame, with selections updating the main content area for an interactive, user friendly app.
Explore streamlit theming by applying built-in themes or creating a theme with .streamlit config.toml, adjusting primary, background, and text colors, and selecting fonts such as serif, sans serif, or monospace.
Build an interactive sales dashboard with two tabs (sales overview and expenses analysis), a csv data source, region and month filters, and dynamic bar, line, and area charts with expanders.
Build an interactive streamlit data app by loading csv data, filtering regions and months with a sidebar, and presenting overview and expense analysis with charts and a pivot table.
Learn to implement file uploads and downloads in Streamlit, read uploaded CSV files with pandas, preview data, compute metrics, and offer downloadable results.
Display images and videos in Streamlit apps with st.image and st.video, from URLs or local files, with captions and container width, and render local videos by reading bytes.
Integrate external apis to fetch real-time data and build dynamic, interactive streamlit apps. Learn to call public apis like cat facts with requests and handle json responses with error handling.
Discover how session state stores persistent variables across app reruns in Streamlit, using a dictionary-like store to remember user inputs, such as a counter, until a full restart.
Learn how cookies enable persistent state across sessions in Streamlit using the Streamlit cookies controller to set, get, and delete a counter stored in the browser.
Build an interactive Streamlit app that queries an API for category and number facts, renders JSON responses as text, and uses cookies to persist user preferences across reloads.
Build an interactive data app with Streamlit that fetches a fact via the numbers API, stores category and number in cookies, and persists preferences across reloads.
Understand how Streamlit custom components bridge a React front end with a Python back end via JSON, and learn their front and back end anatomy.
Set up the component development environment for Streamlit by installing Python 3.8+, Node.js and npm, and the component template library to scaffold a front end with a Python back end.
Use cookiecutter to generate a streamlit component from the official template, set up a virtual environment, install front end and back end dependencies, and run a webpack and Streamlit test.
Define a front end rating component from scratch in a Streamlit app using React and TypeScript. Learn to handle hover and click interactions and send data back to the backend.
Learn to define a TSX component with JSX, TypeScript types, and inline CSS to render a five-star rating widget, including hover and click interactions.
Wire the front end to the Python backend by defining a Streamlit component in __init__.py, exposing a public API with label and initial rating, and coordinating frontend–backend communication.
Learn to deploy streamlit apps using streamlit sharing by hosting a GitHub repository with a requirements.txt, then import and publish a public app URL from the hosted project.
Master Streamlit: build interactive data apps with Python, and complete the course with thanks; explore more Python topics on handbag.com, from GraphQL to Pandas and beyond.
Explore Python data types, from integers and floats to booleans, strings, tuples, lists, sets, and dictionaries, and learn how the type function and print built-in reveal and display values.
Learn how variables in Python act as pointers to memory that store values, use descriptive names and case sensitivity, and follow snake_case conventions, with single and multiple assignment patterns.
Learn arithmetic and augmented assignment operators in Python, including addition, subtraction, multiplication, division, exponentiation, and modulo, then apply operator precedence (Pemdas) in real code.
Master integers and floats in Python, learn how int() and float() convert types, and how binary representation makes some decimals approximate.
Explore booleans in Python, including true and false, and use comparison operators to generate truthiness. Explore logical operators like or, and, not, and clarify assignment versus equality operators.
Makes strings in Python, a sequence of characters, using single, double, or triple quotes; escape quotes, concatenate, repeat, and explore string polymorphism.
Explain the difference between functions and methods in Python, demonstrate string methods like upper and lower, is alpha, starts with, ends with, and introduce the format method for value substitution.
Explore Python lists as ordered containers, learn zero-based indexing, use list slicing with inclusive lower bounds and exclusive upper bounds, apply negative indexing, and avoid index errors and off-by-one errors.
Explore how lists and strings in python are ordered sequences, learn indexing and slicing, and compare mutability: strings are immutable while lists are mutable.
Explore common list methods and functions in Python, including max, min, len, sorted, append, pop, remove, and join, with practical examples of mixing numbers and strings.
Explore tuples, an immutable Python container similar to lists that stores ordered, related values. Access elements by zero-based indices; use cases include coordinates and sat score breakdowns.
Learn how sets are unordered containers of unique values, how to add and discard elements, perform union, intersection, and difference, and convert a list to a set to remove duplicates.
Explore Python dictionaries, mutable key-value containers built with curly braces. Access values with indexing, handle missing keys with get returning none, and add or remove pairs with assignment and pop.
Explore dictionaries by examining keys and values across integers, lists, and nested dictionaries, and learn how immutable and hashable keys enable complex data structures.
Learn how to use Python's in and not in membership operators across dictionaries, lists, tuples, sets, and strings to test presence or absence of items or characters.
Master conditional flow in Python with if, elif, and else to control code execution based on boolean conditions and simple pass/fail logic.
Students learn how Python treats non-booleans in if conditions, exploring truthy and falsy values like numbers, None, empty containers, and how non-empty data may still evaluate to true.
Use for loops to iterate over an iterable and execute a block of code for each item in Python, printing greetings from a list and handling strings as iterables.
Understand the range construct as an immutable sequence of integers with start, stop, and step, where start is inclusive and stop is exclusive, and range object acts as an iterable.
Master while loops by running code until a condition fails, illustrated with a balance that doubles next round’s cost. Ensure the loop updates balance and cost to avoid infinite loops.
Explore the break and continue statements in Python loops. Break exits a loop when it encounters stop, while continue skips the current iteration and moves to the next greeting.
Learn to zip two Python lists, pair names with scores into a single iterable, and unpack the resulting tuples to display or manipulate student data.
Learn to use Python list comprehensions to build, filter, and transform lists in a single elegant line, including extracting names from dictionaries and selecting items by criteria.
Define and call Python functions using def to compute the average of scores, then apply a for loop over students to add average and passed keys.
Learn how to define a function that formats a name and how to compare positional and keyword arguments in Python, including when to mix them and common pitfalls.
Learn lambda functions, anonymous one-liners in Python, used inline for simple tasks like cubing numbers. Apply them with map for one-off transformations and foresee pandas use later in the course.
Learn to import modules in Python, use the standard library, and access functions like mean. Apply from module import function, aliasing with as, and common conventions like pandas as PD.
Are you a data scientist, analyst, engineer, or researcher who works with Python? Do you want to share your data insights in a more engaging and interactive way, without having to learn complex web development frameworks? Then this course is for you!
Streamlit is a revolutionary open-source Python library that makes it incredibly easy to build beautiful, interactive web applications for data science and machine learning. With Streamlit, you can turn your data scripts into shareable web apps in minutes, using only Python. No need for HTML, CSS, or JavaScript!
This comprehensive course will guide you from the very basics of Streamlit to building and deploying sophisticated, interactive data dashboards and tools. You'll learn how to:
Get Started: Set up your development environment and create your first Streamlit app.
Display Data: Work with text, tables, and a wide variety of charts (line charts, bar charts, area charts, and more) using Streamlit's built-in functions and popular libraries like Matplotlib and Plotly.
Add Interactivity: Use Streamlit's powerful widgets (buttons, sliders, selectboxes, text inputs, etc.) to create dynamic applications that respond to user input.
Control Layout: Organize your apps with columns, tabs, expanders, and containers for a clean and intuitive user interface.
Work with Data: Load data from CSV files, JSON files, and even external APIs.
Persist State: Store user preferences and data across sessions using cookies.
Deploy Your Apps: Share your creations with the world using Streamlit Sharing and other cloud deployment options.
Go Beyond the Basics: Learn how to extend the capabilities of Streamlit by building custom components using React, opening up endless possibilities for creating unique and powerful data applications.
This course emphasizes hands-on learning, with numerous examples, practical exercises, and skill challenges to reinforce the concepts.
By the end, you'll be able to confidently build and deploy your own interactive data apps with Streamlit, transforming the way you work with and communicate data. Whether you're a seasoned data professional or just starting your journey, this course will empower you to create compelling data-driven web applications with ease.
And if you're new to Python, don't fret! There is a full-length introduction to Python included as an Appendix which is included to get anyone up and running writing pythonic code in no time.
See you inside!