zope.interface (Zope 3 Interface Infrastructure)

Interfaces are a mechanism for labeling objects as conforming to a 
given API or contract.

NOTE: Building zope.interface requires Python setuptools to be
installed (available at SlackBuilds.org as "pysetuptools").  
No runtime dependencies beyond Python.

Running the test suite requires zope.testing, but that is optional.