Manage dynamic plugins for Python applications
Go to file
Elod Illes e78d4fc21a [stable-only] Cap virtualenv for py37
py37 test started to fail with latest virtualenv (20.16.4) as it
bundles setuptools 65.3.0, which causes installation problems under
py37. (Note: with py38 the problem does not occur).

This patch sets virtualenv<20.16.4 to unblock the gate as
virtualenv 20.16.3 bundles setuptools 63.4.1, with which py37 gate
works well.

Change-Id: I3c6ffea4b84096cfce87bdff1e24339b1c36a3b0
2022-09-05 17:52:43 +02:00
doc Blacklist sphinx 2.1.0 (autodoc bug) 2019-10-10 15:05:44 +08:00
releasenotes Update master for stable/train 2019-09-20 17:44:47 +00:00
stevedore update git.openstack.org to opendev 2019-04-25 01:07:11 +00:00
.gitignore Switch to stestr 2018-07-05 18:04:48 +07:00
.gitreview Update .gitreview for stable/ussuri 2020-04-14 10:19:41 +00:00
.stestr.conf Switch to stestr 2018-07-05 18:04:48 +07:00
.travis.yml Clean up Python 2.6 related stuff 2015-11-26 18:09:38 +08:00
.zuul.yaml Switch to Ussuri jobs 2019-10-25 15:10:22 +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 update git.openstack.org to opendev 2019-04-25 01:07:11 +00:00
announce.rst fix setuptools url 2017-06-08 16:05:52 +08:00
bindep.txt Add local bindep.txt 2019-06-27 12:59:31 +02:00
lower-constraints.txt Switch to stestr 2018-07-05 18:04:48 +07:00
requirements.txt Updated from global requirements 2017-11-16 11:28:42 +00:00
setup.cfg Add Python 3 Train unit tests 2019-07-05 15:15:24 -04:00
setup.py Updated from global requirements 2017-03-02 11:56:14 +00:00
test-requirements.txt Cap Bandit below 1.6.0 and update Sphinx requirement 2019-05-16 16:30:18 +02:00
tox.ini [stable-only] Cap virtualenv for py37 2022-09-05 17:52:43 +02: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.