Package pluginconf
Plugin meta extraction and module lookup.
|
Sub-modules
pluginconf.bind
-
Basic plugin loader implementation. Plugins are assumed to reside in a flat namespace (main difference to module imports). This ties together …
pluginconf.depends
-
Dependency validation and consistency checker for updates
pluginconf.flit
-
Hijacks flit to use pluginconf sources. (It's a hack, but builds work.) …
pluginconf.gui
-
PySimpleGUI window to populate config dict via plugin options …
pluginconf.setup
-
Expands setuptools.setup() with automatic package description lookup
pluginconf.store
-
Implements a rudimentary JSON config store, and convenient dict with .property access (
PluginMeta
). Though you might simply use the …
Global variables
var config_opt_type_map
-
normalize config type: names to
str
,text
,bool
,int
,select
,dict
var data_root
-
File lookup relation for get_data(), should name a top-level package. (Equivalent to
PluginBase(package=…)
) var plugin_base
-
Package/module names (or directories) for module_list() and plugin_meta() lookups. Associated paths (
__path__
) will be scanned for module/plugin basenames. (Similar toPluginBase(searchpath=…)
)
Functions
def add_plugin_defaults(conf_options, conf_plugins, meta, module='')
-
Utility function to collect defaults from plugin meta data to a config dict/store.
Parameters conf_options dict 🔁 storage for amassed #config: options conf_plugins dict 🔁 activation status derived from state/priority: meta dict input plugin meta data (invoke once per plugin) module str basename of meta: blocks plugin file Returns None - def all_plugin_meta()
-
This is a trivial wrapper to assemble a complete dictionary of available/installed plugins. It associates each plugin name with a its meta{} fields.
Parameters Returns dict names to PluginMeta
dict def get_data(filename, decode=False, gzip=False, file_root=None, warn=True)
-
Fetches file content from install path or from within PYZ archive. This is just an alias and convenience wrapper for pkgutil.get_data(). Utilizes the data_root as top-level reference.
Parameters filename str filename in pyz or bundle decode bool text file decoding utf-8 gzip bool automatic gzdecode file_root list alternative base module (application or pyz root) Returns str file contents def module_list(extra_paths=None)
-
Search through ./plugins/ (and other configured plugin_base names → paths) and get module basenames.
Parameter extra_paths list in addition to plugin_base list Returns list names of found plugins def plugin_meta(filename=None, src=None, module=None, frame=1, **kwargs)
-
Extract plugin meta data block from specified source.
filename str Read literal files, or .pyz contents. src str From already uncovered script code. module str Lookup per pkgutil, relative to plugin_base frame int Extract comment header of caller (default). extra_base list Additional search directories. max_length list Maximum size to read from files (6K default). 🔙 dict Extracted comment fields, with config: preparsed The result dictionary (
PluginMeta
) has fields accessible as e.g.meta["title"]
ormeta.version
. The documentation block after all fields: is calledmeta["doc"]
. Andmeta.config
already parsed as a list (OptionList
) of dictionaries.
Classes
class OptionList (*args, **kwargs)
-
List of
config:
options, with alernative.name
access (lookup by name= from option entry).Ancestors
- builtins.list
class PluginMeta (*args, **kwargs)
-
Plugin meta data as dictionary
{}
, or alternatively.property
access. Returned for eachplugin_meta()
result, and individualconfig:
options. Absent.field
access resolves to""
.Ancestors
- builtins.dict
Subclasses