Re:Interfaces and Protocols in Python
by Recursing on Monday April 26, 2021 @08:46AM
(#26941921)
Actually, zope.interface has been around for 20 years.
It just became almost abandoned like the rest of Zope with the era of Django/Flask (and the zope 3 debacle).
Nowadays I think Twisted, Pyramid and Plone are the only "famous" projects left using it
[ Parent
| on HN ]
It's also used by certbot, pyjwt, ckan, proxy.py, scrapy, etc. The list is pretty long but I do agree with you that the majority of packages neither use nor should use it.
https://github.com/zopefoundation/Zope/network/dependents?de...
What was the Zope 3 debacle exactly? I have vague memories of something like that from back in the day, but having trouble finding anything concrete.
well, it was more or less the same thing as the python3 debacle. Imagine having a big python2 project and all the cool stuff is happening in python3. You can't upgrade without substantial effort (code & testing). Now replace python2 with zope2 and python3 with zope3. You get the idea.
I honestly don't really know, and would also be curious to find out what happened exactly that made Zope almost disappear
zope.interface was never widely adopted.
That is true, but I think there was a point in time (2000-2001?) where Zope was very much the dominant python web framework, and the Zope foundation employed many python core developers.
It's even mentioned in the history of python https://docs.python.org/3/license.html
Zope was always a decade ahead of its time in the Python space and at least two in the general web framework space.
When I had to explain it to clients I joked it suffered from “Martian Technology Syndrome”.