Manage dynamic plugins for Python applications
Go to file
Kevin Benton 04f5e154e5 Allow suppression of warnings from DriverManager
Some projects (e.g. Neutron) using the DriverManager with
another fallback mechanism when the alias doesn't exist don't
want the "Could not load warning" messages in the logs.

This patch allows the warn_on_missing_entrypoint kwarg to be
passed to DriverManager which passes it up to its parent
NamedExtensionManager.

Change-Id: Ia6f5f749fc2f73ca6091fa6d58506fddb058902a
2017-01-09 10:25:47 -08:00
doc Broken link at stevedore developer documentation 2016-12-04 12:00:16 -03:00
releasenotes Add reno for release notes management 2016-11-03 15:04:15 +08:00
stevedore Allow suppression of warnings from DriverManager 2017-01-09 10:25:47 -08:00
tools Add Constraints support 2016-12-21 13:39:03 +11:00
.gitignore Add reno for release notes management 2016-11-03 15:04:15 +08:00
.gitreview Update .gitreview after moving the repository 2014-02-07 20:40:10 +00:00
.testr.conf Migrate tox to use testr 2014-10-09 15:30:08 -07:00
.travis.yml Clean up Python 2.6 related stuff 2015-11-26 18:09:38 +08: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
MANIFEST.in Include all images from docs in sdist 2013-06-12 14:03:31 -04:00
README.rst Show team and repo badges on README 2017-01-02 15:33:36 -05:00
announce.rst fix link to entry point docs 2014-03-31 23:01:47 -04:00
requirements.txt Updated from global requirements 2016-11-09 04:25:17 +00:00
run_sphinx Add example of loading as a driver 2013-06-05 18:02:12 -04:00
setup.cfg Add Python 3.5 classifier and venv 2016-07-12 17:26:23 +08:00
setup.py Updated from global requirements 2015-09-17 12:17:27 +00:00
test-requirements.txt Merge "Add reno for release notes management" 2016-11-03 12:45:29 +00:00
tox.ini Add Constraints support 2016-12-21 13:39:03 +11:00

README.rst

stevedore -- Manage dynamic plugins for Python applications

Latest Version

Downloads

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.