Reg is a new Python library for registering and looking up objects. It provides clever registries to let you build extensible applications, libraries and frameworks.
Why should you want to use Reg at all? The best way to find out is to read the Reg docs.
The documentation is a work in progress, and especially API
documentation is still lacking (read the
interfaces.py module in
the source). It should however give you a good overview of the basic
usage of Reg.
The Reg code is here on github:
The project is currently in pre-alpha, with no release yet. The documented behavior is however expected to be stable.
Let me know what you think!
Reg is heavily inspired by the Zope Component Architecture (ZCA) as
shares no code in common with Reg, and no knowledge of the ZCA is
needed in order to use Reg. The ZCA is a venerable implementation,
going back more than a decade. Use cases for the ZCA have evolved,
some added, some dropped away, and we have a lot more
experience. Learning from this, Reg provides many of the same features
but with a lean, modern API and implementation.
I must mention Chris McDonough, creator of the Pyramid web framework in this - he's been leading by example reimplementing (reimagining) Zope concepts in a leaner, clearer, better way for years now. I was originally skeptical of this approach, but history has proved him right. Kudos, Chris! I've learned a lot from you.
I've been working on Reg for some years now, on and off, in different
incarnations. Some Plone developers might remember my
lightning talk back at the Plone Conference 2012 in Arnhem - Reg is a
further evolution of this. See the history section of the
documentation for more information.
Road to Morepath
Reg is foundational to Morepath, the up and coming Python micro web framework with super powers. Stay tuned!