Escript is a python-based programming tool for mathematical modellingbased on non-linear, time-dependent partial differential equations. Ithas been designed to give modelers an easy-to-use environment fordevelop and run complex and coupled models without accessing theunderlying data structures directly. This approach leads to highlyportable codes allowing the user to run a simulation on desktopcomputers as well as highly parallel supercomputer with no changes tothe program. Escript is suitable for rapid prototyping (e.g for astudent project or thesis) as well as for large software projects. Ithas successfully being used in a broad spectrum of applicationsincluding Earth mantel convection, earthquakes, porous media flow,reactive transport, plate subduction, and tsunamis.