Documentation: https://autoregistry.readthedocs.io
Source Code: https://github.com/BrianPugh/autoregistry
AutoRegistry
Invoking functions and class-constructors from a string is a common design pattern
that AutoRegistry aims to solve.
For example, a user might specify a backend of type "sqlite" in a yaml configuration
file, for which our program needs to construct the SQLite subclass of our Database class.
Classically, you would need to manually create a lookup, mapping the string "sqlite" to
the SQLite constructor.
With AutoRegistry, the lookup is automatically created for you.
AutoRegistry has a single powerful class Registry that can do the following:
Be inherited to automatically register subclasses by their name.
Be directly invoked
my_registry = Registry()to create a decorator for registering callables like functions.Traverse and automatically create registries for other python libraries.