Fundamentals
pyqgis.com
Four core paths to learn PyQGIS
Focus your learning with dedicated guides for PyQGIS fundamentals, spatial automation, cartographic visualization, and QGIS plugin development.
processing.run("native:buffer", params)layer.renderer().symbol().setColor(color)PyQGIS is the Python interface to QGIS. More than 350 in-depth guides across four core topics let you choose a path that matches your current goal — setting up a reliable environment, loading and repairing data sources, automating spatial processing against files, databases, terrain, LiDAR point clouds, road networks and web services, styling, animating and labelling maps in code, or building plugins and data-entry forms that ship on both QGIS 3 and QGIS 4.
Automation
Spatial Data Processing & Automation
Build repeatable vector, raster and terrain workflows, use processing algorithms with confidence, and scale geospatial work beyond manual desktop steps.Open learning pathCartography
PyQGIS Cartography & Data Visualization
Style layers in code, stack symbol layers, build thematic maps, switch between map themes, and turn analysis into publication-ready cartography.Open learning pathPlugins
QGIS Plugin Development
Design, structure, and ship QGIS plugins with PyQGIS and Qt, from lifecycle basics through packaging and publishing workflows.Open learning pathStart here
Popular guides across the site
Hand-picked walkthroughs that show PyQGIS in action — dip into any of them, or work through a full topic from its overview page.
- Fundamentals
QGIS Python Console Basics
Run PyQGIS interactively, reach your layers, and prototype scripts in seconds. - Automation
Batch Processing with PyQGIS
Run algorithms across many datasets, isolate errors, and automate repetitive GIS work. - Automation
Coordinate Reference Systems
Assign, transform, and validate CRS so your data always lines up on the map. - Cartography
Programmatic Layer Styling
Configure renderers, symbols, and data-defined overrides entirely from code. - Cartography
Stack Symbol Layers in PyQGIS
Road casings, hatched fills and offset shadows — the draw order that decides what wins. - Automation
Generate Slope, Aspect and Hillshade
Terrain derivatives that mean something — the CRS and z-factor checks that come first. - Plugins
QGIS Plugin Boilerplate & Structure
Wire up metadata.txt, classFactory, initGui, and unload for a well-formed plugin. - Plugins
Qt Designer for Plugin Interfaces
Build .ui files, load them at runtime, and wire signals to your PyQGIS logic. - Automation
Run the PDAL Algorithms from PyQGIS
The stable API for LiDAR work — and the expression-syntax trap that fails silently. - Automation
Find the Shortest Path Between Points
One route or ten thousand — and the three checks that catch a confidently wrong one. - Automation
Query Layers with Virtual Layer SQL
Join a spreadsheet to a database table in one SQL view — and keep it fast. - Plugins
Configure Editor Widgets
Drop-downs, lookups, ranges and photo attachments that only accept valid values.
Newest guides
Newest topic areas and guides
Six new areas — data quality checks, spatial statistics, the Python data stack, the feature and geometry model, diagrams on maps and custom QGIS classes — plus new guides on terrain, rasters, layouts and shipping plugins privately.
- Automation
Data Quality & Topology Validation
Find invalid geometries, gaps, overlaps and broken attributes before they reach a report. - Automation
Spatial Statistics & Pattern Analysis
Hot spots, clustering and nearest-neighbour tests run from PyQGIS on real layers. - Automation
PyQGIS and the Python Data Stack
Move features between QGIS, pandas, GeoPandas and NumPy without losing geometry or CRS. - Fundamentals
Features, Geometries & Memory Layers
The data model under every script: fields, features, geometries and scratch layers. - Cartography
Diagrams & Charts on Maps
Pie, bar and stacked diagrams drawn per feature, configured entirely in code. - Plugins
Extending QGIS with Custom Classes
Custom expression functions, layer property pages and other hooks into QGIS itself. - Automation
Run a Viewshed Analysis
What can be seen from a mast or a turbine, computed from a DEM and checked on the map. - Plugins
Host a Private Plugin Repository
Ship internal plugins with one-click installs and upgrades, without the public repository.
Suggested learning flow
Build confidence from setup to shipping tools
- Start with fundamentals and environment setup
- Load data reliably, then automate vector, raster, terrain and point cloud workflows
- Style, label, animate and theme maps in code for publication
- Build plugin interfaces, forms and tooling
- Test, package and ship what you have built