View on GitHub

Python-dashboards

Repository that contains material for training sessions on creating dashboards using Python.

A dashboard is a useful tool to present data for reporting and exploration. The added value is that a dashboard can be interactive. Python has several frameworks to easily create dashboards, and you will learn about their relative strengths and weaknesses based on some real-world use cases.

Learning outcomes

When you complete this training you will

Schedule

Total duration: 2 hours.

Subject Duration
introduction and motivation 5 min.
panel 40 min.
deploying on GitHub 10 min.
streamlit 40 min.
deploying on streamlit.io 10 min.
Amazon EC2 10 min.
wrap up 5 min.

Training materials

Slides are available in the GitHub repository, as well as example code and hands-on material. The repository contains the PowerPoint slide deck, examples for Panel, Streamlit, Dash, Gradio, and ipywidgets, and hands-on starter material.

Target audience

This training is for you if you need to use Python to build simple dashboards or lightweight data applications.

Prerequisites

You will need experience programming in Python. This is not a training that starts from scratch. Familiarity with pandas is not required, but would be beneficial.

If you plan to do Python programming in a Linux or HPC environment you should be familiar with these as well.

More concretely, participants should already be comfortable with the following:

You do not need prior experience with dashboard frameworks such as Panel, Streamlit, Dash, Gradio, or ipywidgets. Those are part of the training itself.

Quick self-assessment

If you can do most of the tasks below without looking up basic Python syntax, you are likely ready for this training.

If several of these items still feel difficult, the training will probably move too fast. In that case, it is better to first refresh basic Python and simple plotting with NumPy and matplotlib.

Software and access requirements

To follow hands-on on your own system, you need a Python environment that can run JupyterLab and the dashboard frameworks used in the examples.

More concretely, you need:

Some examples start local web applications with commands such as panel serve or streamlit run. If you run these on a remote system, make sure you know how to use port forwarding or the web-access mechanism provided by that system.

For the deployment parts of the training, you may also need accounts or access for the relevant services, such as GitHub, Streamlit Community Cloud, or Amazon EC2. These are not required for simply reading the examples.

Level of the Material

For participants who already have basic Python programming experience, the material in this training is approximately

These percentages describe the level of the dashboard and deployment topics covered in the training, not the required entry level in Python itself.

Trainer(s)