The UWGeodynamics module facilitates development of 2D and 3D thermo-mechanical geodynamic models (Subduction, Rift, Passive Margins, Orogenic systems etc.). It is designed to be used for research and teaching, and combined the flexibility of the Under- world Application Programming Interface, (Moresi, Dufour, & Muhlhaus, 2002, Moresi, Dufour, & Muhlhaus (2003), Moresi et al. (2007)) with a structured workflow. Designing geodynamic numerical models can be a daunting task which often requires good understanding of the numerical code. UWGeodynamics provides a simple interface with examples to get you started with development of numerical models. Users can start designing their models without any pre-existing knowledge of programming. Expert users can easily modify the framework and adapt it to more specific needs. The code can be run in parallel on multiple CPUs on personal computers and/or High Performance Computing systems. Although UWGeodynamics has been primarily designed to address geodynamic problems, it can also be used to teach fluid dynamics and material mechanics. UWGeodynamics uses the flexibility of the Python language and the Jupyter Notebook environment, which allows leveraging the wide range of scientific libraries available from the Python community. It also facilitates the coupling with existing scientific Python modules such as Badlands (Salles, Ding, & Brocard, 2018). The functionalities include: • Dimensional input values, using user’s choice of physical units. • Automated and transparent scaling of dimensional values. • Sets of predefined geometries that can be combined to define the initial geometry of a model. • Handles Newtonian and non-Newtonian rheologies (Viscous, Visco-plastic and Visco-elasto-plastic). • Database of common rheologies used in geodynamics, which can be personalised / extended by users. • Simple definition of kinematic, stress, and thermal boundary conditions. • Lithostatic pressure calculation • Thermal equilibrium (steady-state) calculation. • Pseudo Isostasy using a range of kinematic or stress boundary conditions. • Partial melt calculation and associated change in viscosity / heat production. • Simple definition of passive tracers and grid of tracers. • Simple Phase changes • 2-way coupling with the surface processes model pyBadlands (Salles et al., 2018). UWGeo comes with a series of examples, benchmarks and tutorial setups that can be used as cookbook recipes. They provide a wide range of teaching materials useful to introduce numerical geodynamic modeling to students. New functionalities are constantly being added to the code and contributions are more than welcomed. You can access the full documentation online at https://uwgeodynamics. readthedocs.io