reloading types though it' hard to see herewe really are testing the individual reloader alternatives --each of these tests shares common tester functionbut passes it the reload_all from its own file here are the variants reloading the tkinter gui module and all the modules its imports reachc:\codereloadall py tkinter reloading tkinter reloading _tkinter reloading tkinter _fix etc :\codereloadall py tkinter reloading tkinter reloading tkinter constants reloading tkinter _fix etc :\codereloadall py tkinter reloading tkinter reloading sys reloading tkinter constants etc all three work on both python and too--they're careful to unify prints with formattingand avoid using version-specific tools (though you must use module names like tkinterand ' using the windows launcher here to run per appendix ) :\codepy - reloadall py reloading reloadall reloading types :\codepy - reloadall py tkinter reloading tkinter reloading _tkinter reloading fixtk etc as usual we can test interactivelytooby importing and calling either module' main reload entry point with module objector the testing function with reloader function and module name stringc:\codepy - import reloadallreloadall reloadall import tkinter reloadall reload_all(tkinterreloading tkinter reloading tkinter _fix reloading os etc reloadall tester(reloadall reload_all'tkinter'reloading tkinter reloading tkinter _fix reloading os normal use case testing utility exampletransitive module reloads