Under the covers, all of the PyCrust programs simply make use of the Python modules included in the Py package, such as shell.py, crust.py, introspect.py, and interpreter.py. These programs are the building blocks that are used to make PyCrust, which you can use separately or together.
Think of PyCrust as representing one way of assembling the bits and pieces of functionality contained within the Py package. PyShell is another way, and PyAla-Mode is a third. In each of these cases, the majority of the underlying code is common to all of them, with only the outermost containers varying. So think of the Py package as a library of modules that you can assemble as you like, wherever you want to display a wxPython shell, a code editor, or runtime introspection information within your program.
Within the Py package, there is a clear separation between modules that provide user interface functionality and those that do not. That separation makes it much easier to use these modules in your own programs. The modules that begin with Py are all end-user GUI programs, such as PyCrust, PyShell, PyAlaMode, and PyAlaCarte. You won't want to import any of these in your programs. The next section describes the end-user modules.
Was this article helpful?