Creating an interactive web GUI for arbitrary Python programs

Dash can definitely do all of those things. The only things that’s a little unclear is

running arbitrary external programs with it
What do you mean by this? Nearly any data manipulation you can do in python is dash-friendly as that is sort of the intent.

also see: Show and Tell - Dash Image Processing App with Pillow, S3 and Redis