[TransWarp] PROPOSAL: Shield PEAK from Zope changes
Phillip J. Eby
pje at telecommunity.com
Wed Apr 9 17:31:04 EDT 2003
After some e-mails back and forth with Ulrich today, I've come up with a
proposal for how to shield PEAK from shifts in its Zope dependencies
(currently Interface, and Persistence).
Here's what I'd like to do... Make 'interface' and 'persistence' modules
part of the top level 'peak' package, but not part of 'from peak.api import
*'. These modules will not be the actual implementation of those
components, just PEAK's encapsulation of them. Usage of the modules would
be as follows:
from peak.interface import Interface, Attribute
from peak.persistence import Persistent
The modules will export *only* a documented subset of the
features/capabilities of their underlying packages. This subset will be
"guaranteed" interoperable between PEAK and Zope X3. Usage of anything
outside that subset in PEAK-based code would be "at your own risk".
All in all, this is more for my benefit in coding PEAK than anything
else. I don't want to go through more than one "namegeddon" for PEAK, and
I'd just as soon that PEAK's external dependencies were more explicit.
However, as an added benefit, users would be free to replace these modules
with different implementations, if they needed to force the use of a
different version of the associated Zope package.
More information about the PEAK