I noticed that if I import idle and do idle.PyShell.main() I get a new shell which contains all of the variables contained in the root shell. Is it possible to do idle.PyShell.main() and specify that the new shell contains variables defined in some dictionary? Vin.