The first version of tkrun appeared in the NEMO package and was written up for an ADASS conference (see 1998ASPC..145..116T). Based on a simple prescription it would present the user with a GUI interface, as long as the script or program could parse a set of keyword=value pairs from the commandline. See also the tkrun manual page for a little more information on the parsing program.
In theory as long as a program has a simple prescription that can be automatically obtained, tkrun can present this to the user in in a GUI. An example are NEMO or CARMA programs that via a specific invocation reveal their keywords and defaults, which programs like tkrun could use to build the GUI. The current version of tkrun however, need to read this prescription from a script as embedded comments in that script.
The approach we are trying out in python functions is to hide the GUI description in the .__doc__ string (the """...""" right below the function declaration), after which one could simple use it as tkrun(foo) in (i)python.