james.pye at gmail
Jul 29, 2012, 10:18 PM
I just pushed this up to pypi/github, and I hoped to acquire some c.l.py opinions.
It's experimental at this point, and might get scrapped.
visage is a loosely coupled interface registry. weakrefs make it cake to implement.
Basically, zope.interface, but where the interfaces are referenced by an identifier instead of the defining Interface class. Also, ABC registration is performed when the Interface becomes available so that isinstance/issubclass checks can be performed on Implementation instances/classes.
FWICT, pyprotocols allows for something like this, but while introducing many "interesting concepts". (;
Currently, visage has no concept of adaption, but I'm suspecting that it could be built *on top* of the existing foundation.
Personally, I'd prefer to reference interfaces by an identifier. Notably, the idea of having to pull in a dependency in order to perform local tests that have no need for the formal Interface class is reason enough for me to use something like this instead of the existing solutions. Sure, to each their own.?
What's c.l.py's perspective on managing interfaces and implementations?
Fuck it, ship it? =)