QGIS Deployment Toolbelt¶
Description: QGIS Deployment Toolbelt (QDT) is a CLI (Command Line Interface) to perform redundant operations after a QGIS deployment, managing QGIS profiles, plugins, environment variables, start menu / desktop shortcuts and many things to rationalize your QGIS installations.
Author and contributors: “Julien Moura (Oslandia)” qgis+qdt@oslandia.com, “Jean-Marie Kerloch (Oslandia)” qgis+qdt@oslandia.com, “Nicolas Godet (ISL)” nicolas.godet@outlook.fr
Source code: https://github.com/qgis-deployment/qgis-deployment-toolbelt-cli/
License: Apache-2.0
Last released version: 0.43.0
Current version: 0.43.1.dev29+ga57a118a8.d20260602
Last documentation build: 02 June 2026
QGIS Deployment Toolbelt (QDT) is a cross-platform (primarily Windows-focused) command-line tool that streamlines the deployment and management of QGIS profiles, plugins, and related settings within organizations.
It helps standardize user environments, simplify updates, and integrate with IT deployment strategies like GPO, SCCM, or InTune.

⭐ Why QDT?¶
Save hours of manual QGIS configuration and profile management
Reduce configuration errors and user friction
Scale QGIS deployments in professional environments easily
Reconciling GIS service expectations and IT constraints
Community driven development and developed by experienced QGIS teams
✨ Features¶
Manage QGIS profiles easily: define, store, and deploy profiles with a simple
profile.jsonfile. You can also use the Profile Manager plugin to export your existing profiles right from QGIS.Version control integration: Git-powered backend for tracking changes and enabling collaborative profile management.
IT-friendly: designed to work with Active Directory, GPOs, SCCM, InTune, and other enterprise tools.
Seamless user experience: deliver a consistent QGIS experience across your organization with minimal friction.
Advanced configuration handling: use variabilized
QGIS3.inifiles to handle dynamic or environment-specific settings.Conditional deployments: deploy specific profiles based on rules, environment variables, or user criteria.
Optimized plugin management: reduce bandwidth usage by rationalizing plugin downloads and installations.
🤝 They use and trust QDT¶
Known and active users. You do use QDT and are not listed here? Please let us know!
What it is and the underlying philosophy¶
Development is leaded by the following principles and goals:
a tailor-made tool for QGIS ecosystem
open source and community driven
independant from the QGIS installation mode
packaged as CLI and prebuilt stand-alone binary
cross-platform but with a strong focus on Windows
documented
tested
usable with a single action (one-click run)
easily reusable
easily maintenable
compatible with automation mechanisms:
cron / scheduled tasks
Windows groups policies (so called GPO for Group Policies Object) and tooling around client management
flexible enough to be adapted to an internal security policy (allowing to put a custom code certificate)
It’s not¶
an installer for QGIS
a packager helper
🚀 Quickstart¶
Need more details? Check the installation page
With Python¶
Get QDT executable:
The best way to install it is using pipx:
pipx install qgis-deployment-toolbelt
If you don’t have installed pipx, it’s obviously still installable with pip but you’ll have to deal with checking that the Python scripts folder is declared in your
PATH(list of folders where executables are authorized to run).pip install -U qgis-deployment-toolbelt
Run a scenario. For example the one which is shipped as demonstration in QDT project:
qdt -s https://github.com/qgis-deployment/qgis-deployment-toolbelt-cli/raw/main/examples/scenarios/demo-scenario.qdt.yml
You can also run it directly with pipx:
pipx run qgis-deployment-toolbelt --help
pipx run qgis-deployment-toolbelt -s https://github.com/qgis-deployment/qgis-deployment-toolbelt-cli/raw/main/examples/scenarios/demo-scenario.qdt.yml
With the stand-alone executable¶
Typically on Windows
Download latest version that matches your environment from releases
Open a terminal in the same folder
Rename ‘Windows_QGISDeploymentToolbelt_0-43-0’ as
qdt.exe:mv *_QGISDeploymentToolbelt_* qdt.exe
Run a scenario. For example the one which is shipped as demonstration in QDT project:
./qdt.exe -s https://github.com/qgis-deployment/qgis-deployment-toolbelt-cli/raw/main/examples/scenarios/demo-scenario.qdt.yml
Typically on Ubuntu
Download latest version that matches your environment from releases
Open a terminal in the same folder
Rename ‘Ubuntu_QGISDeploymentToolbelt_0-43-0’ it as
qdt.bin:mv *_QGISDeploymentToolbelt_* qdt.bin
Make sure it’s runnable:
chmod u+x ./qdt.bin
Run a scenario. For example the one which is shipped as demonstration in QDT project:
./qdt.bin -s https://github.com/qgis-deployment/qgis-deployment-toolbelt-cli/raw/main/examples/scenarios/demo-scenario.qdt.yml
Table of contents¶
How to use
- Installation
- Features
- Configurable execution via environment variables
- Detect QGIS installation
- Define environment variables
- Synchronize profiles from Git or HTTP
- Install QGIS plugins
- Create Desktop/Start Menu shortcuts
- Define a splash screen
- Set the default profile
- Variabilize QGIS INI files
- Deployment rules
- Graphical editor
- Technical tooling
- How does it works: concepts and global workflow
- How to use
- Describe and prepare your QGIS profiles
- Write your deployment scenario
- Jobs configuration
- Command-line interface usage
- Configuration
Guides
- How to download the latest QDT’s version
- How to check the certificate used to sign QDT binary
- How to automatically validate QDT files
- How to use behind a network proxy
- Defining custom SSL client certificates
- How to make QDT work with a private Git repository
- How to publish to an HTTP server
- How to get a plugin ID
- How to schedule the deployment
- How to sign the executable on Windows
Reference