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

PyPi version badge PyPI - Downloads PyPI - Python Version

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.

QGIS Deployment Toolbelt CLI

⭐ 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.json file. 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.ini files 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.

Check list of actual features

🤝 They use and trust QDT

Known and active users. You do use QDT and are not listed here? Please let us know!

Find public examples

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:

  • 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

  1. 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
    
  2. 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

  1. Download latest version that matches your environment from releases

  2. Open a terminal in the same folder

  3. Rename ‘Windows_QGISDeploymentToolbelt_0-43-0’ as qdt.exe:

    mv *_QGISDeploymentToolbelt_* qdt.exe
    
  4. 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

  1. Download latest version that matches your environment from releases

  2. Open a terminal in the same folder

  3. Rename ‘Ubuntu_QGISDeploymentToolbelt_0-43-0’ it as qdt.bin:

    mv *_QGISDeploymentToolbelt_* qdt.bin
    
  4. Make sure it’s runnable:

    chmod u+x ./qdt.bin
    
  5. 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

Reference


Want to contribute?