Skip to main content

A collection of helpful tools and widgets to aid QGIS plugin tool development

Project description

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.

Contributing

Contributions are very welcome. Get started by reading OSGeo Suomi CONTRIBUTING guidelines.

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

qgis_plugin_tools-1.0.0.post1.tar.gz (48.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qgis_plugin_tools-1.0.0.post1-py3-none-any.whl (60.7 kB view details)

Uploaded Python 3

File details

Details for the file qgis_plugin_tools-1.0.0.post1.tar.gz.

File metadata

  • Download URL: qgis_plugin_tools-1.0.0.post1.tar.gz
  • Upload date:
  • Size: 48.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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}

File hashes

Hashes for qgis_plugin_tools-1.0.0.post1.tar.gz
Algorithm Hash digest
SHA256 1368972d4f227cade1ed319540f9ef1d74536818ed09f214172593e0c0298164
MD5 26a1cd5a14d12026633849822cb5c417
BLAKE2b-256 65c8da4b2d30de7da668c4e4961f441b1306a04f0d3dd01409ad2d8227ccba99

See more details on using hashes here.

File details

Details for the file qgis_plugin_tools-1.0.0.post1-py3-none-any.whl.

File metadata

  • Download URL: qgis_plugin_tools-1.0.0.post1-py3-none-any.whl
  • Upload date:
  • Size: 60.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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}

File hashes

Hashes for qgis_plugin_tools-1.0.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 ca07ab93fbb0743606696752da3f43e6f189207ef06afb6ffd558e1d2c83609c
MD5 76adcf6b041865be77a801048a684c0b
BLAKE2b-256 11e86c92906cd34eca0aac11c15ae4ef741e930256bb7bf69af399ffed480c5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page