A collection of helpful tools and widgets to aid QGIS plugin tool development
Project description
QGIS Plugin tools
Warning: The API is not stable yet. Function and files may move between commits.
As it's a submodule, you can configure your GIT to auto update the submodule commit by running:
git config --global submodule.recurse true
The module is helping you with:
- setting up some logging (QgsMessageLog, file log, remote logs...)
- fetching resources in
resources
or other folders - fetching compiled UI file in
resources/ui
folder - fetching compiled translation file in
resources/i18n
folder - removing QRC resources file easily
- translate using the
i18n.tr()
function. - managing the release process : zip, upload on plugins.qgis.org, tag, GitHub release
- providing some common widgets/code for plugins
- setting up a debug server
How to install it
For a new plugin
This will create needed structure for your plugin
- Create new plugin using cookiecutter-qgis-plugin. This will automatically initialize git and add qgis_plugin_tools as a submodule for the plugin.
- Next set up the development environment, edit metadata.txt with description etc. and commit changes.
For existing plugin
- Go to the root folder of your plugin code source
git submodule add https://github.com/GispoCoding/qgis_plugin_tools.git
- To get most out of the submodule, try to refactor the plugin to use the default plugin tree
As external dependency
This project can also be used as an external dependency. It can be installed via pip:
pip install qgis_plugin_tools
The project can also be installed in editable mode, but you must use setuptool's strict mode because of the submodule nature of the project:
pip install -e /path/to/qgis_plugin_tools --use-pep517 --config-settings editable_mode=strict
Setting up development environment
Refer to development documentation.
How to use it
Refer to usage documentation.
Plugin tree example
The plugin should follow the following file tree to get most out of this module.
Plugin Foo
root folder:
plugin_repo
# no '-' character!.gitmodules
.pre-commit-config.yaml
.gitattributes
.gitignore
.qgis-plugin-ci
# to use qgis-plugin-cipluginname
# no '-' character!.gitignore
qgis_plugins_tools/
# submoduleresources/
i18n/
# Alternatively translations could use Transifexfi.ts
fi.qm
ui/
main_dialog.ui
icons/
my_icon.svg
__init__.py
foo.py
metadata.txt
build.py
test/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file qgis_plugin_tools-0.4.1.tar.gz
.
File metadata
- Download URL: qgis_plugin_tools-0.4.1.tar.gz
- Upload date:
- Size: 46.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 376eff672273fcb69cec10c21c72977b083a38c46aef5120cf34c5fd2e0beca2 |
|
MD5 | 541c6167f61ce6d5a9e531946e0e77c8 |
|
BLAKE2b-256 | fff27c65b519bce683e2e6d1d518ee916d11ddd9fdf2a13623adea2a2d827053 |
File details
Details for the file qgis_plugin_tools-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: qgis_plugin_tools-0.4.1-py3-none-any.whl
- Upload date:
- Size: 52.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 954da174dc024fbf4f217a24af7a8ab46bfd04638823443fc77392e46359b6bc |
|
MD5 | 4e2372bcd5061f68dfff9ee2e11d40c8 |
|
BLAKE2b-256 | 8b034c506830de9d5ad8673d3b29c407116542f1458b1cc5c18b14582f540edc |