I want to implement my project using interface oriented programming. Since Python itself does not have native support to the Interface keyword, I am planning to leverage the zope.* package. But the zope.component package is really a huge package with lots of dependencies. Because I want to keep my project slim with less external dependency, I am wonder if it is useful/helpful to use the zope.* packages. Especially I am planning to deploy my project in GAE, and it does not include the zope package as a supported third-party package.
If not using zope.* package, what is the best practice to implement Python project with interface oriented concepts?
You could use
zope.interface. For example, it is used by Twisted, Pyramid frameworks.