QGIS is one of the premiere open source Geographical Information Systems. While developing Python geospatial applications can be challenging, QGIS simplifies the process by combining the necessary geoprocessing libraries with a sophisticated user interface, all of which can be directly controlled using Python code. Starting with an introduction to QGIS and how to use the built-in QGIS Python Console, we will teach you how to write Python code that makes use of the geospatial capabilities of QGIS. Building on this, you will ultimately learn how to create your own sophisticated standalone mapping applications built on top of QGIS. You will learn how to use the Python Console as a window into the QGIS programming environment, and then use that environment to create your own Python scripts and plugins to customize QGIS.