## pluginconf

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

| proejct | info                                      |
|---------|-------------------------------------------|
| Repo    | |
| API docs| |
| pypi    | |
| depends | re, pysimplegui, setuptools, flit |
| compat  | Python ≥2.7, |
|compliancy| pep8, !man, !doap, self |
| system usage| - |
| permissive | 0.75 |
| testing | 0.5 |
| activity | infreq |
| state | stable |
| support | email |
| contrib | mail, fossil |
| announce| - |


It
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
for most common use cases. Though of course it makes most sense if there are actual
script/extension downloads.

The double-escaped `##type:` is a concession to pylint. It's not actually
required, espcially if `#category:` or `#class:` could alternatively be
used for extension grouping.