PyQGIS samples


When you start to use the QGIS Python API ((also known as "PyQGIS"), your most complete documentation is the C++ QGIS API documentation. Then, you will rely on the the PyQGIS cookbook, the examples available online and the code from the existing plugins (if you are already good at programming).

Numerous users are struggling to use the C++ QGIS API documentation and apply it to Python, to go further.

This repository is an attempt to start to cover all the Python QGIS API.

It's a work in progress. At the moment, we are documenting mainly gui and core modules from Python QGIS API.

The long term goals are:

Work progression

For the main "shiny" content, go to

To follow our documentation coverage progress, go at:

We may have more code available in the Github repository than the one publish on the website. Do not hesitate to browse the repository to find more samples.

Want to contribute?

It can be for doing corrections, just mentioning an issue in current samples or contributing to new samples.

Fork the code or just open an issue if you are afraid of code (not a joke, end users input feedbacks are welcome!)


GPL version 2 or greater to avoid the "hassle" with QGIS plugins recommended license.


We already borrowed some code available online from third party.

We plan to track all the credits here but didn't constitute the full list.

Wait for an update or ask to be credited.