Learning Python programming with generic GIS goals in mind?

This question has been converted to Community Wiki and wiki locked because it is an example of a question that seeks a list of answers and appears to be popular enough to protect it from closure. It should be treated as a special case and should not be viewed as the type of question that is encouraged on this, or any Stack Exchange site, but if you wish to contribute more content to it then feel free to do so by editing this answer.


  • GIS Lounge's GIS + Python page
  • Python Geo-Spatial Development

For straight python, his has been discussed thoroughly on Stack Overflow:

  • How to learn Python?
  • Newbie teaching self python, what else should I be learning?
  • Fastest way to learn Python?
  • How should I go about learning Python?

The second link has a link to the latest edition of a book I loved when learning python How to Think Like A Computer Scientist: Learning With Python

  • Zed Shaw's learn python book: Learn Python the Hard Way.
  • Geoprocessing with Python using Open Source GIS.

For Python GIS, see the FOSS4G 2010 python workshop and the corresponding slides

A good start, mainly oriented on Pylons framework and Geoalchemy, the two main components of Mapfish Server

Edit : Do a

git clone https://github.com/elpaso/python-gis-workshop

see into the pdf all the links related to GIS for python and enjoy !


Dive Into Python. Good and free. Provides good intro to many basic Pythonic principles.

Here's a shameless plug for a article I wrote for ArcUser on geoprocessing with Python.