Now we're ready to add database support to our address book application. First, though, let's review the application's main modules.
Address.py contains the Address class, which represents an address entry, and the readAddresses()and writeAddresses() functions, which read and write a dictionary of Address class instances (the actual addresses).
AddressModel.py contains the AddressModel class, which is both a list model and a table model for the user interface. AddressModel calls readAddresses() to read in a dictionary of Address class instances and maps the dictionary to the list and table models.
AddressFormPane.py contains the AddressFormPane class, a user interface ...