Artifact 2f210d8bb33543bbc24dd425d00ef558c2941baca9009b12ef9f8462a38a3b4a:

Wiki page [pluginconf] by mario on 2022-10-31 12:04:39.
D 2022-10-31T12:04:39.794
L pluginconf
N text/x-markdown
P 1f9e0e09be2f73e0bf5cd09deea719e5faa272075dbb7587a4ded192f0567d28
U mario
W 1374
## pluginconf

Is a Python implementation of [PMD](wiki/Plugin+Meta+Data).

| Project | URL                                       |
|---------|-------------------------------------------|
| Repo    | <https://fossil.include-once.org/pluginspec/tree/pluginconf> |
| API     | <https://fossil.include-once.org/pluginspec/doc/tip/html/index.html> |
| pypi    | <https://pypi.org/project/pluginconf/> |
| freshcode | - |

It [originated](http://fossil.include-once.org/streamtuner2/wiki/plugin+meta+data)
in streamtuner2. But has since gained some config dialog implementation of its own
(for modseccfg and other small tools). Simplifies configuration management, and has
a pretty terse API.

 * Only supports Python `#` comments.
 * Works from within pyz/zip packages.
 * Additionally wraps setup() and flit package builds.

### sample

    # api: python
    # title: example
    # description: shows plugin_meta() reading
    ##type: main
    # version: 0.1
    # 
    # Imagine this being a real Python script.

    import pluginconf
    meta = pluginconf.plugin_meta(filename=__file__)
    print(meta.title)

    pluginconf.plugin_base = ["plugins", "contrib"]
    print(pluginconf.all_plugin_meta())

There's also a simplified interface now (pluginconf.bind) for most common
use cases. Though of course it makes most sense, if there are actual
script/extension downloads.


Z 2e9dd2cb16632381cfd8cbf608b2837f