Skip to main content

lightweight python plugin system supporting config inheritance

Project description


PyPI PyPI Tests Codecov Language grade: Python

lightweight python plugin system supporting config inheritance

To use

There is a full example at

Create the manager, for example in a module file

import pluginmgr

# this is the namespace string that import uses
namespace = 'pluginmgr_test.plugins'

# directories to look in, string or list of strings
searchpath = 'path/to/search/in'

# determines if this should create a blank loader to import through. This
# should be enabled if there isn't a real module path for the namespace and
# disabled for sharing the namespace with static modules
# default is False
create_loader = False

plugin = pluginmgr.PluginManager(namespace, searchpath, create_loader)

Create and register a plugin, note the filename needs to be the same as registered name

from pluginmgr_test import plugin

# register a plugin named mod0
class Mod0(pluginmgr.PluginBase):

See the dict containing all registered plugins

from pluginmgr_test import plugin

# dict of all registered plugins

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pluginmgr-1.1.0.tar.gz (9.1 kB view hashes)

Uploaded source

Built Distribution

pluginmgr-1.1.0-py3-none-any.whl (9.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page