This lesson is being piloted (Beta version)

Interactive Applications in Python

Adding interactivity to Jupyter Notebooks and web apps is a way to bring life to class materials and research reports. Interactivity invites users to explore parameters and change the outcome of a code making the user participant of the discovery rather than a passive receptor of fixed knowledge.

The tools presented in this workshop offer this interactivity. We have selected four applications, these applications have matured and can be used to create materials for classes, real-time dashboards, data explorers, model demos, and sophisticated workflow apps.

The first two packages create interactive widgets, either for web applications as well as Jupyter Notebooks. Shiny for Python give you the tools to create web applications directly from Python. Jupyter Widgets is a package to add interactive widgets to Jupyter Notebooks.

The other two tools are for interactive visualization. PyVista allows you to interact with spatial-data visualizations. PyMunk is a 2D physics library that can be used to simulate 2D rigid body physics.

These four packages are just a small selection of a wider set of packages that can help you introduce interactivity to the classroom and help you with data exploration and visualization.

Prerequisites

This workshop assumes that you have some familiarity with Python Programming. Even if your primary language is not Python, the code is easy to follow. The examples in these lessons are kept simple on purpose to show you the capabilities of these packages without getting lost in large source code that will divert you from grasping the practical routines that these packages have to offer.

The examples are inspired by high-school to college-level math, chemistry, and physics. They serve the purpose to illustrate the possibilities not to teach you advanced topics.

Workshop Webpage

Schedule

Setup Download files required for the lesson
Day 1 10:00 1. Shiny for Python Create highly interactive visualizations, realtime dashboards, data explorers, model demos, all in pure Python
11:00 Finish
Day 2 10:00 2. PyVista 3D plotting and mesh analysis with Python
11:00 3. PyMunk Pythonic 2d physics library for physics demos
12:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.