over sockets python threadsif installed in your python interpreterare put to work to avoid blocking during potentially overlappinglong-running mail operations we're also going to reuse the pyedit texteditor object we wrote in to view and compose messages and to pop up raw textattachmentsand sourcethe mail tools package' tools we wrote in to loadsendand delete mail with serverand the mailconfig module strategy introduced in to support enduser settings pymailgui is largely an exercise in combining existing tools on the other handbecause this program is so longwe won' exhaustively document all of its code insteadwe'll begin with quick look at how pymailgui has evolvedand then move on to describing how it works today from an end user' perspective- brief demo of its windows in action after thatwe'll list the system' new source code modules without many additional commentsfor further study like most of the longer case studies in this bookthis section assumes that you already know enough python to make sense of the code on your own if you've been reading this book linearlyyou should also know enough about tkinterthreadsand mail interfaces to understand the library tools applied here if you get stuckyou may wish to brush up on the presentation of these topics earlier in the book major pymailgui changes like the pyedit text editor of pymailgui serves as good example of software evolution in action because its revisions help document this system' functionalityand because this example is as much about software engineering as about python itselflet' take quick look at its recent changes new in version and (third editionthe version of pymailgui presented in the third edition of the book in early is still largely present and current in this fourth edition in version added handful of enhancements to version and version was complete rewrite of the version of the second edition with radically expanded feature set in factthe second edition' version of this program written in early was only some total program lines long ( lines for the gui main script and lines in an email utilities module)not counting related examples reusedand just lines in its help text module version was really something of prototype (if not toy)written mostly to serve as short book example although it did not yet support internationalized mail content or other extensionsin the third editionpymailgui became much more realistic and feature-rich program that could be used for day-to-day email processing it grew by nearly factor major pymailgui changes