PyGeoprocessing is a Python/Cython based library that provides a set of commonly used raster, vector, and hydrological operations for GIS processing. Similar functionality can be found in ArcGIS/QGIS raster algebra, ArcGIS zonal statistics, and ArcGIS/GRASS/TauDEM hydrological routing routines.

PyGeoprocessing was developed at the Natural Capital Project to create a programmable, open source, and free GIS processing library to support the ecosystem service software InVEST. PyGeoprocessing’s design prioritizes computation and memory efficient runtimes, easy installation and cross compatibility with other open source and proprietary software licenses, and a simplified set of orthogonal GIS processing routines that interact with GIS data via filename. Specifically the functionally provided by PyGeoprocessing includes

  • programmable raster algebra routine (vectorize_datasets)
  • routines for simplified raster creation and statistics
  • integration with vector based geometry in many of the routines
  • a simplified hydrological routing library



Papyrus provides geospatial extensions for the Pyramid web framework and includes an implementation of the MapFish Protocol. The MapFish Protocol defines a HTTP interface for creating, reading, updating, and deleting (CRUD) geographic objects (a.k.a. features).


MapFish is a flexible and complete framework for building rich web-mapping applications. It emphasizes high productivity, and high-quality development. MapFish extends the Pylons Python web framework with geospatial-specific functionality. For example MapFish provides specific tools for creating web services that allows querying and editing geographic objects.


GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types. Geometric operations are performed by shapely.

Status: Actively developed

Depends on: Numpy, Pandas, Shapely, Fiona, six

Optional extensions: GeoPy, Psycopg2, Matplotlib, Descartes, PySAL

Python versions: 2.6, 2.7, 3.2+

OS Platforms: N/A




pip install geopandas


The goals of Karta is to expose a simple and fast framework for spatial analysis. Karta serves as a Leatherman for geographic analyses. It provides simple and clean vector and raster data types, a selection of geographical analysis methods, and the ability to read and write several formats, including GeoJSON, shapefiles, and ESRI ASCII.

Status: Actively developed

Depends on: Numpy, PyShp, PyProj

Optional extensions: GDAL, SciPy

Python versions: 2.7, 3.3+

OS Platforms: N/A




pip install karta


This Python package and extensions are a number of tools for programming and manipulating the GDAL Geospatial Data Abstraction Library.

Status: Actively developed

Depends on: GDAL C++, Numpy

Optional extensions:

Python versions: 2, 3

OS Platforms: N/A



Official package examples



Windows binary


python install

Blog at

Up ↑