[QGIS-Developer] Understanding plugin management in QGIS: Meta data fields

Sebastian M. Ernst ernst at pleiszenburg.de
Tue Mar 31 11:34:53 PDT 2020

Hi everyone,

I am still trying to wrap my head around plugin management. Looking at
(Python) plugin metadata, I have a few questions.

The meta data contains the fields `experimental` and `deprecated`.
Having written plugins, I believe that certain versions of a plugin (but
not "the entire plugin", i.e. all of its versions of it at once) can be
"experimental". So `experimental` is actually a property of a plugin
version. Am I correctly understanding this?

As far as `deprecated` goes, I have not figured out the dynamics yet. Is
it also tied to a version or does a plugin author mark all (past)
versions of a plugin as deprecated by uploading a deprecated "final"

What's the story behind `trusted`? I'd guess that plugins of this kind
can be published without a review and a plugin manager on the client
should not care about this field.

I understand that `id` is *the* unique identifier for a plugin.
Eventually, it will be the folder name of the plugin module and it
usually equals the name of the plugin distribution zip-file (without the
`.zip` file extension). If this is correct: What's the purpose of
`zip_repository`? Its description reads "the remote repository id".

Reading through the original plugin manager's code, there are actually a
few more meta data fields that appear to be undocumented (or at least
not listed in a central place): `hasProcessingProvider` and `server`,
both of them more or less booleans. Just to be safe here: Is my
understanding correct that there are basically three types of Python
plugins: "regular", server and processing provider?

Best regards,

More information about the QGIS-Developer mailing list