1.3.1.3 PEAK's Major Subpackages

api

The peak.api package supplies commonly used classes, functions, modules, and constants needed by PEAK applications and the PEAK framework itself.

binding

The peak.binding package defines base classes for application components, and for the attribute bindings used to connect components together. These base classes are used throughout PEAK to implement all sorts of components.

config

The peak.config package provides a framework for ``placeful" and ``lazily immutable" lookups of configuration data. Configuration data can be arbitrary objects or values, and can be looked up by either a property name, or by an interface that the desired object supports (similar to the Zope 3 concept of utilities).

model

The peak.model package provides a framework for creating persistent, application domain class families. It provides abstractions such as "Structural Features" that can define fields and associations based on metadata, and automatically generate methods for those features based on code templates. The resulting persistent objects can be saved or loaded by subclassing DataManager classes from the peak.storage package.

naming

The peak.naming package provides services comparable to those of Java's JNDI system, only easier to use and extend. Naming services are a standardized interface for looking up or recording the location of objects, whether they're database connections, printers, web services, or even something as simple as log files.

running

The peak.running package provides runtime environment tools for logging, locking, process control, event loops, command line apps, periodic tasks, CGI/FastCGI web publishing, etc.

storage

The peak.storage package provides APIs and components for handling transactions, database connections, and persistence.