1.3.1.1 Interfaces and Exceptions

In addition to an "api" module, each major subpackage also contains an "interfaces" module, which defines all of the interfaces used or provided by classes in that package. The "interfaces" modules contain almost no executable code: they are there to document the interfaces only. This makes them a good place to start learning about PEAK packages, especially ones that are frameworks, like peak.naming or peak.storage.

Another useful module to know about is peak.exceptions, which defines the exception classes used by PEAK's major subpackages. You probably won't use it often, though, since there aren't many PEAK exceptions that you'll want to explicitly catch. Most PEAK exception types indicate issues with your code or design, not runtime problems.