blob: 85d06278eb62e11f974c06cf4c0aa269c55c04df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
===============
stevedore 0.8
===============
.. tags:: stevedore release python
What is stevedore?
==================
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.
.. _stevedore: http://stevedore.readthedocs.org
.. _setuptools entry points: http://packages.python.org/distribute/pkg_resources.html#convenience-api
What's New?
===========
- Add ``name_order`` parameter to ``NamedExtensionManager`` to coerce
``map()`` into processing the extensions in the order they are named
when the manager is created, instead of the random order they may
have been loaded. Contributed by Daniel Rocco.
- Change the ``NamedDispatchExtensionManager`` to ignore missing
extensions (issue 14).
- Add ``__getitem__`` to ``ExtensionManager`` for looking up
individual plugins by name (issue 15).
- Start working on the tutorial
- Remove dependency on distribute, now that it is merged back into
setuptools 0.7 (issue 19).
Installing
==========
Visit the stevedore_ project page for download links and installation
instructions.
|