I'm assuming not only nouri might be interested in this...
after a bit of tickling, I got a acquisition friendly version of
zope.app.intid working and checked in. it's ready to have it's tires
as part of the package, it also includes a z2 compatibility layer for
if you don't know zope.app.intid, it's super simple; basically just a
dual btree index that uses hashable objects as keys(and these objects,
keyreference return a target object when called). Registration and
unregistering are handled by object event subscribers. Adding an object
via the subscribers fires an IIntIdAdded event for use in
cataloging(there is an event for removal also).
I'm planning on using this with rdflib(as a catalog). tons of other
reference oriented code from z3 uses it(zc.extrensicreference,
zc.relationship, lovely.tag, etc). If you wanted a more ATish UID,
overriding the id generation in the utility would be trivial.
Framework-Team mailing list