Skip to main content

PEP 246 and a whole lot more

Project description

Do you hate having to write lots of if-then logic to test what type something is? Wouldn’t it be nice if you could just declare “I want this object to have this behavior” and magically convert whatever value you have, to the type you need? PyProtocols lets you do just that, cleanly, quickly, and robustly – even with built-in types or other people’s classes.

PyProtocols extends the PEP 246 adapt() function with a new “declaration API” that lets you easily define your own protocols and adapters, and declare what adapters should be used to adapt what types, objects, or protocols. In addition to its own Interface type, PyProtocols can also use Twisted and Zope’s Interface types too. (Of course, since Twisted and Zope interfaces aren’t as flexible, only a subset of the PyProtocols API works with them. Specific limitations are listed in the documentation.)

Project details


Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page