2026-10-07 –, WS - Curtgin Grond
Developing software as a team typically requires choosing and following coding standards to ensure things run smoothly (larger the team, stricter the rules). QGIS plugin development is no exception.This workshop aims to introduce modern Python development tools for QGIS plugin development.
During the session, we will create a simple QGIS plugin and set up the development environment using best practices. We will cover at least the following topics:
* Configuring Python formatting and linting tools alongside with modern package management (flake8-qgis, ruff, mypy, prek, uv)
* Trying out writing unit tests for the plugin and its UI components (pytest-qgis, pytest-qt)
* Learning how to update translations (qgis-plugin-dev-tools, Qt Linguist)
* Setting up up a CI pipelines for running tests and publishing your plugin automatically with GitHub Actions
To the workshop bring your own laptop with:
* QGIS >= 3.40 installed (note down the installation path)
* "Plugin Reloader" plugin installed
* git installed
* Code editor, such as VSCode or Pycharm installed
* [Optional to make things quicker] qgis-venv-creator script downloaded
Joona is a Geospatial Software Consultant and open source enthusiast with a special interest in QGIS and QField plugin development tools. He has been part of the development team behind the Finnish Topological Database Management System and has contributed to numerous other QGIS plugins over the years.
He is also one of the main developers of pytest-qgis, pytest-qfield, flake8-qgis, qgis-plugin-dev-tools and qgis_plugin_tools.