For a prompt approval of the plugin read the following guidelines
Requirements
Plugins need to have at least minimal documentation
The plugin metadata contains a valid link to the homepage
(the URL should either point to a page describing plugin
usage or the README/wiki in your repository),
the repository (source code - should be publicly accessible
and should not contain zipped files),
the tracker (issue tracker) and a license.
All plugins should include a short English description of what the plugin does.
Respect the licenses by libraries and other resources that your plugin
uses
If the plugin has an external dependency, this needs to be clearly stated
in the About metadata field; you can include a short guide to install
Python libs as needed, or point to existing guides, e.g. for Windows:
"Installing Python packages in QGIS 3 (for Windows)"
Don't include binaries
The size of the plugin package should not exceed 25MB
Recommendations
Write comments in your code in English, it will make it easier for others
to contribute
Provide a minimal data set for testing
Put the plugin into the appropriate menu (Vector, Raster, Web, Database)
Before publishing a new plugin, check if it duplicates existing
functionality and explore collaboration possibilities
Make your plugin work on all supported platforms (Windows, Linux, macOS)
Don't rename the plugin title just because it's upgraded to a newer
version like QGIS 3
Check if source code uploaded to the QGIS plugin repo as zip is identical
to "Code repository" indicated in metadata.txt
Mention any requirements, dependencies and restrictions in the description
text section (which can be multi-line). Examples of requirements,
dependencies and restrictions are, if the plugin is running only on
selected platforms, requires SW to be installed separately or some user
account, but also if the plugin is spatially covering just some countries
or regions.
Tips and Tricks
Keep your source repository in good shape:
No generated files left in the repository (ui_*.py, resources_rc.py,
gen. help files…).
No __MACOSX, .git, __pycache__ or other hidden directories
Good code organization (subfolders).
Code comments are available.
PEP8 & Python/QGIS guidelines compliance.
A README file and a LICENSE file are present.
If some dependencies are not available in OSGeo4w Python, provide
instructions on how to install them on Windows.
The name of the plugin and the folder name do not repeat the word
`plugin`.
Plugins should make use of
QgsNetworkAccessManager
instead of using urllib2/requests/etc... which often fail to use correct proxy settings.
Experienced developers with quality standards for quality and tools and used to git workflow are encouraged to use
one of the well-known Cookiecutter
templates: