Link for classes (zoom):
Link for Telegram group:

Installing QGIS through OSGeo4W (windows); using OSGeo4W shell to install Python packages:

  • Downloading and installing QGIS (instructions for installing QGIS via the OSGeo4W distribution manager).
    • 1st: go to and download OSGeo4W Network installer (Window users)
    • 2nd: execute the downloaded file osgeo4w-setup.exe (follow instructions in this will take some time... Files will be typically installed in C:\OSGeo4W. Important files:
    • Note: to install packages that require dependencies which are hard to install later in the shell, choose advanced installation and choose the packages you want to install (e.g. python3-geopandas; python3-fiona; can also install useful packages like rasterio; check geowombat, scipy, sklearn, etc)
      • C:\OSGeo4W\OSGeo4W.bat - This opens the OSGeo4W shell that can be used for executing python scripts from the command line.
      • C:\OSGeo4W\bin\qgis-ltr-bin.exe - This is the main QGIS executable that you need to run for starting QGIS 3.
    • Obs: we will execute scripts directly in QGIS, so the OSGeo4W shell (windows key+ OSGeo4W shell) will only be needed to install Python packages (see below). Anyway, to run the Python interpreter from the OSGeo4W shell one should execute python-qgis-ltr  -- leave with "quit()".
  • Installing pip (most likely not necessary since it should be included in the above installation):
  • Installing a python package that is not included in OSGeo4W: Exemple: Install package sklearn (package for Data Science not included in OSGeo4W): 1st: open OSGeo4W shell (window key+ osgeo4w shell);  2nd: execute "python -m pip install --user sklearn" in OSGeo4W shell; 3rd: in the python console of QGIS do "import sklearn" to verify that it is loaded correctly (i.e. there is no error message). Exercise: install package haversine (distances over the sphere).

Documentation (QGIS, PyQGIS):

Introductory tutorials to PyQGIS:

QGIS in macOS:

Tutorial on creating plugins in QGIS3:Python simple interactive exercises:Python code examples:Geoprocessing with Python (not just in QGIS)
Geopackage and SQLite:Layer legends:Python videos by Corey Schafer (there are many more):
  1. Lists, Tuples, and Sets
  2. Strings - Working with Textual Data
  3. Dictionaries
  4. Loops and iterations
  5. Python comprehensions are a very natural and easy way to create lists, dicts, and sets
  6. Functions
  7. How to read and write to file
  8. How to work with csv files using the csv module
  9. Modules, import, sys.path, random, math, os, webbrowser
  10. os Module
  11. How to read, write, and match regular expressions with the re module
  12. Working with JSON Data using the json Module
  13. Datetime Module - How to work with Dates, Times, Timedeltas, and Timezones
  14. Classes and Instances
  15. About inheritance and how to create subclasses
  16. Class Variables
  17. classmethods and staticmethods
  18. iterators and iterables
  19. Pandas using Python.
  20. Pandas DataFrame and Series objects.
  21. Pandas indexes.
  22. How to get started with Matplotlib.
  23. Create bar charts in Matplotlib.
  24. Create pie charts in Matplotlib.
  25. Create histograms in Matplotlib.
  26. Create scatter plots in Matplotlib.
Python Tutorial for Beginners - Learn Python in 5 Hours [FULL COURSE]

GDAL: An Introduction to GDAL:
1st Edition of the course "Unleash QGIS with Python" (June 2021)
Youtube channel "QGIS 3 em português": an introduction to QGIS 3 (in portuguese)