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 AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page