Template options
Defined options
The defined configuration values are defined into the cookiecutter.json
file in the repository, with the default values:
{
"plugin_name": "My Awesome Plugin",
"plugin_name_slug": "{{ cookiecutter.plugin_name | slugify | replace('-', '_') }}",
"plugin_name_class": "{{ cookiecutter.plugin_name_slug.title() | replace('_', '') }}",
"plugin_category": [
"Database",
"Filter",
"Raster",
"Vector",
"Web",
"None"
],
"plugin_processing": false,
"plugin_description_short": "This plugin is a revolution!",
"plugin_description_long": "Extends QGIS with revolutionary features that every single GIS end-users was expected (or not)!",
"plugin_tags": "topic1,topic2",
"plugin_icon": "path_to_an_image_or_leave_blank_to_use_default_icon",
"author_name": "Firstname LASTNAME",
"author_org": "Company",
"author_email": "qgis@company.com",
"qgis_version_min": "3.28",
"qgis_version_max": "3.99",
"repository_url_base": "https://gitlab.com/{{ cookiecutter.author_org }}/{{ cookiecutter.plugin_name_slug }}/",
"repository_default_branch": "main",
"open_source_license": [
"GPLv2+",
"GPLv3",
"MIT",
"None"
],
"linter_py": [
"Flake8",
"PyLint",
"both",
"None"
],
"ci_cd_tool": [
"GitHub",
"GitLab",
"None"
],
"ide": [
"VSCode",
"None"
],
"post_install_venv": false,
"post_git_init": false,
"debug": false,
"__prompts__": {
"plugin_name": "\nName of the plugin. Used as value for `name` in the plugin `metadata.txt`.",
"plugin_name_slug": "\nSlugified name of the plugin. Used to name the folder where the source code will be stored. Default value is deduced from the plugin name:",
"plugin_name_class": "\nName of the main plugin class in Python code. By default, it's the camelcase version of the plugin name:",
"plugin_category": {
"__prompt__": "\nCategory of the plugin. Used as value for `category` in the plugin `metadata.txt` and to define in which menu the plugin will be installed:",
"Database": "Database",
"Filter": "Locator Filter",
"Raster": "Raster",
"Vector": "Vector",
"Web": "Web",
"None": "Generic (multi categories)"
},
"plugin_processing": "\nSet `hasProcessingProvider=True` in `metadata.txt` and add a boilerplate structure for processing algorithms.",
"plugin_description_short": "\nThe punchline introducing the plugin. Used as value for `about` in the plugin `metadata.txt`:",
"plugin_description_long": "\nThe long story describing the plugin. Used as value for `description` in the plugin `metadata.txt`:",
"plugin_tags": "\nComma separated list, spaces are allowed inside individual tags. Used as value for `tags` in the plugin `metadata.txt`:",
"plugin_icon": "\nLocal path to an image file to be used as plugin icon. If not provided, the templater icon is used.:",
"author_name": "\nPlugin creator. Used as value for `author` in the plugin `metadata.txt`:",
"author_org": "\nOrganization of the author. Also used as for `author` in the plugin `metadata.txt`:",
"author_email": "\nContact email to ask about the plugin. Used as value for `email` in the plugin `metadata.txt`:",
"qgis_version_min": "\nQGIS minimum version. Used as value for `qgisMinimumVersion` in the plugin `metadata.txt`.",
"qgis_version_max": "\nQGIS maximum version. Used as value for `qgisMaximumVersion` in the plugin `metadata.txt`.",
"repository_url_base": "\nURL to the public repository.",
"repository_default_branch": "\nDefault git branch name. Defaults to `main`.",
"open_source_license": "\nLicense of your plugin. Please consider that you should pick up the `GPLv2+`to comply with Qt and QGIS licenses.",
"linter_py": "\nWhich Python linter to use in IDE and CI.",
"ci_cd_tool": "\nWhich continous integration and deployment suite to use.",
"ide": "\nWhich IDE software to use.",
"post_install_venv": "\nCreate a virtual environment after project creation. Default to: no.",
"post_git_init": "\nRun git init after project creation and add `repository_url_base` as remote origin. Default to: no.",
"debug": "\nDebug/verbose mode. Default to: no."
}
}
Options detailed
Option name |
Description |
---|---|
plugin_name |
Name of the plugin. Used as value for |
plugin_name_slug |
Slugified name of the plugin. Used to name the folder where the source code will be stored. |
plugin_name_class |
Name of the main plugin class in Python code. By default, it’s the camelcase version of the plugin name. |
plugin_category |
Category of the plugin. Used as value for |
plugin_description_short |
The punchline introducing the plugin. Used as value for |
plugin_description_long |
The long story describing the plugin. Used as value for |
plugin_tags |
Comma separated list, spaces are allowed inside individual tags. Used as value for |
plugin_icon |
Path to an image file to be used as plugin icon. If not provided, the default icon is used. |
plugin_processing |
Set |
author_name |
Plugin creator. Used as value for |
author_org |
Organization of the author. Also used as for |
author_email |
Contact email to ask about the plugin. Used as value for |
qgis_version_min |
QGIS minimum version. Used as value for |
qgis_version_max |
QGIS maximum version. Used as value for |
repository_url_base |
URL to the public repository. |
repository_default_branch |
Default git branch name. Defaults to |
open_source_license |
License of your plugin. Please consider that you should pick up the |
linter_py |
Which Python linter to use in IDE and CI. |
ci_cd_tool |
Which continous integration and deployment suite to use. |
ide |
Which IDE software to use. |
post_install_venv |
Create a virtual environment after project creation. Default to: no. |
post_git_init |
Run git init after project creation and add |
debug |
Debug/verbose mode. Default to: no. |