Skip to content Where Legends Are Made
Cooperative Institute for Research to Operations in Hydrology

Developing Interactive CIROH Research Applications with Python-only Tethys Component Apps

Developing Interactive CIROH Research Applications with Python-only Tethys Component Apps

Day 1 Session 2 (1:30PM)

Presenters:

Shawn Crawley – Lynker
Nathan Swain – Aquaveo
Dan Ames – BYU

Tethys Component Apps represent a new approach to building web applications in the Tethys Platform. Through the integration of ReactPy, Tethys enables researchers to develop rich, responsive applications entirely in Python—without requiring JavaScript, HTML templating, or frontend frameworks.

This approach builds directly on the Python scripting workflows many CIROH researchers already use for data analysis, modeling, and visualization, making it possible to expose existing research code through interactive web interfaces.

In this hands-on workshop, participants will learn how to build a Tethys Component App using CIROH-relevant research and decision-support use cases. Attendees will create interactive pages composed of reusable components, manage application state, and respond to user-driven events—all in Python.

The workshop emphasizes practical patterns for adapting existing Python-based scientific workflows into maintainable, user-friendly web applications that support data exploration and decision-making for the CIROH community.

Learning Outcomes:

  • Describe how Tethys Component Apps enable Python-only interactive web application development
  • Convert existing Python research notebooks and scripts into interactive Component Apps
  • Build component-based application pages using page functions and reusable components
  • Apply best practices for maintainable, user-friendly scientific web applications

Prerequisites:

  • Prior knowledge:
    • Familiarity with Python scripting for scientific analysis, modeling, or visualization (e.g., NumPy, pandas, xarray, matplotlib)
    • Basic understanding of Python functions and data structures
    • Familiarity with HTML is helpful but not required
    • No prior experience with Tethys Platform required
  • Software & data: what will the participants need to have/install (Git clone repositories; data or application downloads; system requirements)
    • VS Code with Remote – SSH extension installed
    • Each participant will be provided access to a virtual machine with required tools and data preinstalled
    • Computer with internet access