Customizing QGIS with Python

A hands-on class that teaches you how to customize QGIS using the Python API. This course is intended for users who want to learn how to use programming techniques to build custom scripts, functions and plugins. Participants will also earn official certification upon completion.


10 Hours


Learning Outcomes

  • Write scripts with for custom geoprocessing
  • Build plugins and processing tools with user interfaces
  • Set up actions and custom functions with custom business logic

Course Outline

  • Where can you use Python in QGIS?
  • Qt, PyQt and PyQGIS
  • Understanding Classes
  • Using PyQGIS Classes
  • Graphical User Interface (GUI) Programming Basics
  • Deep Dive into PyQGIS
  • Running Python Code at QGIS Launch
  • Creating Custom Python Actions
  • Running Processing Algorithms
  • Understanding Python Iterators
  • Writing Python Console Scripts
  • Writing Standalone Python Scripts
  • Writing a Processing Script
  • Simplifying Processing Scripts
  • Writing Plugins
    • Minimal Plugin
    • Processing Plugin
  • Resources for Further Learning


Spatial Thoughts is one of the handful of QGIS certifying organizations globally. Participants who attend a live session of this class will each receive an official, employer-verifiable certification from

See our other Course Offerings.

Meet Our Participants

This course covered a lot of ground, but by using judicious examples it was easy to follow. The class was small enough that the instructor was able to provide individual help when students had trouble, and the instructor made a real effort to keep the class together as it advanced through the material. I had a computer glitch, and the instructor took the trouble to bring me up to where the class was during a break.

Peter Kowalczyk, Geophysicist, Canada


The course has been helpful in teaching me how to interface Python with QGIS and also gave me suggestions how to work with GUIs in Python with Qt in general. The pace of the course is steady but in no way too fast and everything works well in the digital format.

Eduard S. Lukasiewicz, University of Göttingen, Germany

A great learning experience to understand the basic of QGIS. The back-end knowledge of the way QGIS works was an eye opener and will help make QGIS applications to various domains flexible and informed. Look forward to more such sessions!!!

Nibedita Dash, ICCT, India

I got a good idea on the customization of QGIS and also the scripting aspects with Python, even though I had very minimal knowledge in Python, by the end of the workshop, i got a lot of confidence on scripting. Ujaval’s explanation is simple and precise. The icing of the whole workshop is the certification which is from QGIS. I look forward to attending more workshops from Spatial Thoughts!

Gurudatta K, Aaron GSD, India

This workshop is for anyone who is new to programming and wanted to begin as a QGIS developer in their career.

Naveen Kumar G T, Sensing Local, India

It was an amazing class. Learned a lot.

Manikandan K, King Fahd University of Petroleum and Minerals, Saudi Arabia

On the verge of giving up my hope to learn python for QGIS, the Spatial Thoughts course on Customizing QGIS with Python ignited my long lost interest. The lecture delivered along with a very interactive session makes one understand the basic concept customization using python for QGIS.

Jigme Tenzin, World Food Program, Bhutan