Creating Dashboards in Python
About This Course
Take the analysis you already have in a notebook and turn it into a web app your colleagues can use without you. In one day you build working dashboards in Streamlit, driven by real data, and you leave with an app you can put in front of people.
The course uses Streamlit, which builds a usable dashboard from very little code and looks presentable by default. You write Python, not HTML, CSS or JavaScript, and it works with the libraries you already use. In this course we plot with Plotly for interactive charts and Matplotlib where you need a publication-ready figure; Streamlit also renders Altair, Bokeh and others if your team has already settled on one of those.
Most of the day is spent building. You will take input from users, show output that responds to it, and lay out a page that stays readable as it grows. We cover the problems that show up once a dashboard has real users rather than just a developer: state that needs to persist between interactions, a page that has become slow and needs caching in the right place, restricting who can see what, and getting the thing deployed.
You should leave able to turn an analysis into a dashboard someone else can drive, and to keep it maintainable once it is in use.
Who This Course Is For
Analysts, scientists and engineers who already produce results in Jupyter notebooks and now need other people to see and use those results. If your work currently ships as a notebook, a screenshot pasted into a slide deck, or a spreadsheet emailed once a week, this course shows you how to turn it into a web app your colleagues can open in a browser and drive themselves.
It also suits teams where analysis is produced by a few people and consumed by many more, and where those requests currently come back to the analyst every time a filter or a date range needs changing.
Prerequisites
This course is designed to be able to be completed immediately after completing Python Charmers' Introduction to Python course, or equivalent programming experience (approximately 3 months of regular usage).
You should be comfortable loading and filtering data in Pandas or Polars, since every dashboard we build is driven by a DataFrame. No web development experience is required. You will not write any HTML, CSS or JavaScript.
What You'll Learn
- Build a working Streamlit dashboard that other people can open and drive themselves.
- Separate application logic from user interface code so your dashboard stays testable and extensible as it grows.
- Diagnose when a dashboard feels slow and apply the appropriate caching strategy.
- Present data with interactive Plotly charts and static Matplotlib figures, choosing chart types that suit the question being asked.
- Control access to a dashboard and deploy it so colleagues can reach it.
Course Syllabus
Day 1 — Building dashboards with Streamlit
- From notebook to web app, and the Streamlit execution model
- Separating logic from interface, so the app stays maintainable
- Building the interface: output, user input and page layout
- Charts in a dashboard: interactive with Plotly, static with Matplotlib
- Diagnosing and fixing a slow dashboard with caching
- Managing state, restricting access, and theming
- Deploying your dashboard