QGIS offers a lot of functionality, but still functionality can easily be extended using Plugins written in Python. Actually Python code can be used in several ways to automate work in QGIS which makes working with QGIS even more enjoyable.
Python plugins have the great advantage that they can be shared with the whole QGIS community by uploading the developed plugin to the official QGIS Python Plugins Repository. For every QGIS user this plugin can now be easily be found, downloaded and installed.
Ik have developed several Python plugins that I uploaded to the QGIS Python Repository, the KLIC Viewer plugin, that I named before the 'WION Result viewer', the Map themes builder plugin, the Coordinate Systems Updater plugin and the Basis NL plugin.
The KLIC viewer plugin, is a plugin that is actually only used in the Netherlands. With this plugin you can load the result of a 'call before you dig' request into QGIS. When a build contractor needs to excavate mechanically he first has to do a central 'call before you dig' request at 'Kadaster' the national mapping agency of the Netherlands. Such a request is name a KLIC request. The Kadaster will gather within minutes from every network company information about the network, bundles it and sends the result back to the requester.
I started this project because in the original 'official' free viewer you could not even measure distances, let alone add your own designs / additional geogragraphical information. In 2009, to do a KLIC request, became mandatory and this is upholded with steep fines (10,000.- euro/occasion). In 2010 heb I released the first version of this plugin for QGIS version 1.0. I continued to develop and maintain this plugin. The plugin has an english manual. Watch a video on the plugin here video.
The KLIC viewer plugin contained some functionality which could be reused to build the Theme builder plugin which could be used worldwide. Additional to groups you could gather layer in themes (i.e. electricity, gas, water, sewerage). This way you can turn the visibility on/of for several layers (raster/polygons/layer/points) that could not be gathered in a group at tat particular time. See also the video.Now you can set groups and the order of visibility in QGIS seperately which was the reason why I stopped maintaining this plugin.
In QGIS versie 1.6 the original coordinate system of the Netherlands was still present. However when you want to combine that system with GoogleMaps or Open StreetMap there was a big difference. I wrote the QGIS coordinate system updater plugin to provide a list of coordinate systems that had the same problem but that could be updated (it contains also the Finish and the Japanese coordinate systems. Have a look at video. In version 1.7, after some discussion on a QGIS mailinglist, this definition of EPSG 28992 was changed and this plugin was not neccesary anymore for the Netherlands.
The national mapping agency of the Netherlands 'Kadaster' provides massive files (in GML format) with the exact location of all buildings with addresses included of the Netherlands. This plugin adds a very efficient algorithm to the processing tool, that can convert these files to a spatialite database.