Skip to main content

QGIS Plugin tools

PyPI version Downloads CI Code on Github Ruff uv pre-commit

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 (will be deprecated in the future)
  • fetching compiled translation file in resources/i18n folder (will be deprecated in the future)
  • removing QRC resources file easily
  • translate using the i18n.tr() function.
  • managing the release process : zip, upload on plugins.qgis.org, tag, GitHub release (will be deprecated in the future)
  • providing some common widgets/code for plugins
  • setting up a debug server (will be deprecated in the future)

How to install it

As external dependency

It is recommended to use this module as an external dependency with the help of qgis-plugin-dev-tools.

The tool can be installed via pip:

pip install qgis_plugin_tools

Remember to add this as a runtime requirement in your pyproject.toml:

[tool.qgis_plugin_dev_tools]
plugin_package_name = "your_plugin_package_name"
runtime_requires = [
    "qgis_plugin_dev_tools"
]

As a submodule

[!WARNING] Using qgis_plugin_tools as a submodule is not recommended and will be deprecated in the future.

For a new plugin

This will create needed structure for your plugin

  1. Create new plugin using cookiecutter-qgis-plugin. This will automatically initialize git and add qgis_plugin_tools as a submodule for the plugin.
  2. Next set up the development environment, edit metadata.txt with description etc. and commit changes.

For existing plugin

  1. Go to the root folder of your plugin code source
  2. git submodule add https://github.com/osgeosuomi/qgis_plugin_tools.git
  3. To get most out of the submodule, try to refactor the plugin to use the default plugin tree

Setting up development environment

This project uses uv to manage python packages. Make sure to have it installed first.

  • Create a venv that is aware of system QGIS libraries: uv venv --system-site-packages
# Activate the virtual environment
$ source .venv/bin/activate
# Install dependencies
$ uv sync
# Install pre-commit hooks
$ pre-commit install

Updating dependencies

uv lock --upgrade

How to use it

Refer to usage documentation.

Release files for qgis-plugin-tools 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qgis-plugin-tools 1.0.0
File Size Uploaded
qgis_plugin_tools-1.0.0.tar.gz 47.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qgis-plugin-tools 1.0.0
File Interpreter ABI Platform
qgis_plugin_tools-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 108.0 kB

Release files / qgis_plugin_tools-1.0.0.tar.gz

Download URL qgis_plugin_tools-1.0.0.tar.gz
Size 47.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a98fa40766c0f48704dcd61d61585df14eba763d2ff694914d01223e60191724
BLAKE2b-256 checksum
How to use checksums
1f46d365e67d7194eb3743079cc4744a51ca6b2941093b5f6f4809e471e4f732
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / qgis_plugin_tools-1.0.0-py3-none-any.whl

Download URL qgis_plugin_tools-1.0.0-py3-none-any.whl
Size 60.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b26c5202a1dc60db98425aa790d795a5194f10c8dadbab1d3cbc7dae1d94003d
BLAKE2b-256 checksum
How to use checksums
d4b4921821da0c39f927edb64ab2995314c6b5fafefadb092fa633a18d61d7cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

2.0.0

2 release files

1.1.1

2 release files

This release

1.0.0 This release

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page