Manage dynamic plugins for Python applications
Go to file
Doug Hellmann bc04ca91e0
sphinxext: fix warning message for detailed list
Fix the way the warning for undocumented modules in a detail list is
produced. The new importlib.metadata.EntryPoint type is derived from
namedtuple so using string interpolation means the multi-part tuple
causes an error. Take the opportunity to include a more detailed
message.

Change-Id: I02223a982258a1bf8fc28fa91c7c090c7ac3554e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2020-07-12 15:01:34 -04:00
doc switch to importlib.metadata package 2020-07-06 08:39:52 -04:00
releasenotes sphinxext: fix warning message for detailed list 2020-07-12 15:01:34 -04:00
stevedore sphinxext: fix warning message for detailed list 2020-07-12 15:01:34 -04:00
.gitignore Drop Python 2.7 support 2020-04-21 15:14:10 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:31:04 +00:00
.stestr.conf Switch to stestr 2018-07-05 18:04:48 +07:00
.zuul.yaml Add Python3 victoria unit tests 2020-05-04 18:22:39 +02:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:40 +00:00
LICENSE add license 2012-06-19 14:33:24 -04:00
README.rst update git.openstack.org to opendev 2019-04-25 01:07:11 +00:00
bindep.txt Add local bindep.txt 2019-06-27 12:59:31 +02:00
lower-constraints.txt switch to importlib.metadata package 2020-07-06 08:39:52 -04:00
requirements.txt switch to importlib.metadata package 2020-07-06 08:39:52 -04:00
setup.cfg Drop Python 2.7 support 2020-04-21 15:14:10 +01:00
setup.py Drop Python 2.7 support 2020-04-21 15:14:10 +01:00
test-requirements.txt Replace external mock with built-in unittest.mock 2020-06-05 15:46:27 +02:00
tox.ini Drop Python 2.7 support 2020-04-21 15:14:10 +01:00

README.rst

stevedore -- Manage dynamic plugins for Python applications

Latest Version

image

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.