Metaclass for subclassable extension types
Clone or download
jamadden Merge pull request #21 from zopefoundation/100coverage
Reach 100% coverage and add coveralls
Latest commit cc2c322 Aug 14, 2018


ExtensionClass and ExtensionClass-related packages


This package provides a metaclass that allows classes implemented in extension modules to be subclassed in Python. Unless you need ExtensionClasses for legacy applications (e.g. Zope 2), you probably want to use Python's new-style classes (available since Python 2.2).


This package provides a way to attach attributes to an ExtensionClass or instance that are computed by calling a callable. This works very much like property known from new-style classes, except that a ComputedAttribute can also be attached to an instance and that it honours ExtensionClass semantics (which is useful for retaining Acquisition wrappers, for example).


This package lets you attach additional "methods" to ExtensionClasses. These "methods" are actually implemented by subclassing the MethodObject.Method class and implementing the __call__ method there. Instances of those classes will be bound to the instances they're attached to and will receive that instance object as a first parameter (after self).