Manage dynamic plugins for Python applications
7eca3f5661
The behavior of the 'EntryPoint.extras` attribute that this exposes has changed in recent versions of 'importlib_metadata'/'importlib.metadata'. In change Iff536d4f4267efbebc4be1e7e5da8a9fde39f79b we applied a temporary fix to preserve the legacy behavior on these newer versions, however, given that this is actually a deprecated attribute [1], the best long-term option seems to be not exposing things. Do just that. [1] https://packaging.python.org/en/latest/specifications/entry-points/#data-model Change-Id: Id772d9f002e6945666685138bdef8f8ca32b5229 Signed-off-by: Stephen Finucane <stephenfin@redhat.com> |
||
---|---|---|
doc | ||
releasenotes | ||
stevedore | ||
.gitignore | ||
.gitreview | ||
.pre-commit-config.yaml | ||
.stestr.conf | ||
.zuul.yaml | ||
bindep.txt | ||
CONTRIBUTING.rst | ||
LICENSE | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
stevedore -- Manage dynamic plugins for Python applications
Python makes loading code dynamically easy, allowing you to configure
and extend your application by discovering and loading extensions
("plugins") at runtime. Many applications implement their own
library for doing this, using __import__
or
importlib
. stevedore avoids creating yet another extension
mechanism by building on top of setuptools
entry points. The code for managing entry points tends to be
repetitive, though, so stevedore provides manager classes for
implementing common patterns for using dynamically loaded
extensions.
- Free software: Apache license
- Documentation: https://docs.openstack.org/stevedore/latest
- Source: https://opendev.org/openstack/stevedore
- Bugs: https://bugs.launchpad.net/python-stevedore