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.