Packages
Parses and generates NMEA 0183 GPS/GNSS protocol messages, enabling Python applications to read and work with positioning data from GPS receivers and maritime devices.
Install it if you need to work with GPS/GNSS protocol data in Python; skip it only if you need support for Python versions below 3.10 or have no use for NMEA message…
Converts geometries between WKB/EWKB, WKT/EWKT, and GeoJSON formats with no external dependencies, designed for use in PostgreSQL PL/Python functions to work with PostGIS geometry objects.
PyGeoIf provides lightweight, pure-Python geometry classes that implement the GeoJSON-like __geo_interface__ protocol for working with geospatial vector data like points, lines, polygons, and their collections.
rio-tiler reads raster data from local and remote sources (HTTP, S3, Cloud Storage) via a Rasterio/GDAL wrapper, supporting tile extraction, bounding-box queries, STAC assets, and Xarray datasets.
Install it if you need to read raster data (especially tiles or remote sources) without wrestling with raw Rasterio/GDAL APIs.
Simplify LineStrings using the Ramer–Douglas–Peucker or Visvalingam-Whyatt algorithms, reducing coordinate counts while preserving geometry shape.
OWSLib provides Python client access to Open Geospatial Consortium web services (WMS, WFS, WCS, CSW, WPS, WMTS) for querying service metadata and retrieving geospatial data.
Install it if you need to consume WMS, WFS, or other OGC services; be aware that WCS, WPS, and WMTS are still beta.
Applies color-oriented image operations—gamma adjustment, sigmoidal contrast, saturation, and atmospheric correction—to numpy arrays representing RGB imagery in rasterio band ordering.
osmium provides Python bindings for the Libosmium C++ library, enabling fast and flexible processing of OpenStreetMap data.
Reads, writes, and manipulates KML files—an XML-based geospatial data format—using a simple Python API with support for geometry objects and date/time handling.
Converts between MGRS (Military Grid Reference System) coordinates and decimal degrees latitude/longitude using a ctypes wrapper around GeoTrans C code.
Reproject shapely geometries between coordinate reference systems with a single function call, wrapping pyproj and shapely to simplify the common GIS transformation task.
A Python wrapper for the OpenCage Geocoding API that converts addresses to coordinates (forward geocoding) and coordinates to addresses (reverse geocoding), with support for both synchronous and asynchronous requests.
Install it if you need to integrate address-to-coordinate or coordinate-to-address lookups into a Python application and are willing to obtain an OpenCage API key.
esda computes global and local spatial autocorrelation statistics, join-count tests, and multivariate spatial association measures to identify spatial structure and clustering patterns in geospatial data.
pyKML parses and creates KML documents using a Pythonic XML interface built on lxml.objectify, letting you read and write geographic markup programmatically.
Access Esri's ArcGIS services and geospatial data through Python, enabling vector and raster analysis, geocoding, mapping, and GIS administration from a single library.
However, review the Esri MLA license terms carefully before use in commercial or redistributed contexts, and be aware that the 25 runtime dependencies create a…
Momepy quantifies urban form through morphometric measurements: dimensions, shapes, spatial distribution, density, diversity, connectivity, and tessellation of urban elements like building footprints and street networks.
Install it if you need to quantify urban form systematically; the geospatial dependency stack is a real setup hurdle, but conda-forge installation mitigates that.
Geodatasets provides a curated database of geospatial example datasets with a simple API to fetch URLs or download and cache them locally for educational and illustrative purposes.
Install it if you're building tutorials, examples, or educational materials that need geospatial datasets.
regionmask creates spatial masks for gridded data that identify which region each grid point belongs to, enabling regional aggregation of climate, reanalysis, and other geospatial datasets.
Install it if you work with gridded data and need to aggregate or mask by geographic region.
Provides projection-aware geometry classes combining shapely shapes with pyproj CRS support, plus GeoBox for geo-registered raster data and xarray integration for geospatial metadata.
Provides FastAPI-based building blocks to create dynamic tile servers for Cloud Optimized GeoTIFFs and raster data, handling tile generation, OGC standards, and geospatial data serving.
Install it if you are building a tile server; skip it if you need a ready-made tile service rather than a framework.
Giddy provides methods for exploratory spatiotemporal data analysis, including directional LISA, spatial Markov chains, mobility measures, and sequence analysis to study how geospatial distributions evolve over time.
Calculates over 40 segregation indices—both aspatial and spatial—to measure patterns of urban segregation, and tests their statistical significance and decomposes differences into spatial and demographic components.
Install it if you need to compute segregation indices or test segregation hypotheses; skip it if your work does not involve demographic or residential segregation…
Parses and generates NMEA 0183 sentences from GPS and marine navigation devices, converting raw protocol strings into Python objects with accessible fields.
Install it if you need to parse or generate NMEA 0183 sentences from GPS or marine devices.
Tobler transfers spatial data between different polygonal representations using areal interpolation, dasymetric mapping, and model-based methods, enabling tasks like standardizing census data across boundary changes or converting data between spatial scales.
Encodes and decodes geographic coordinates as geohashes, and computes neighboring cells and directional bounds for spatial indexing and proximity queries.
Parses latitude-longitude coordinate strings in multiple formats (decimal degrees, degrees-minutes, degrees-minutes-seconds) and converts between them.
However, dormant maintenance (no active development) means you should verify it handles your specific coordinate formats before relying on it in production; consider…
spreg estimates simultaneous autoregressive spatial regression models for processes where observations interact with one another.
GSTools provides geostatistical tools for spatial random field generation, kriging, variogram estimation, and covariance modelling with support for structured and unstructured data in 1D, 2D, and 3D.
XProj is an Xarray extension that provides tools for managing geospatial coordinate reference systems (CRS) using PROJ and Pyproj, enabling uniform CRS handling across Xarray datasets.
However, treat it as experimental—the API may change, and it is not yet proven in production workflows.
Converts between geographic coordinates (latitude/longitude) and Geohex v3.2 zone codes, a hierarchical spatial indexing system for mapping and location-based applications.
Provides Python bindings for GDAL (Geospatial Data Abstraction Library) in a virtualenv-friendly package that wraps the system GDAL installation.
Not recommended if you're new to GDAL or prefer minimal system-level dependencies.
Provides optimized Cython implementations of geostatistical algorithms, accelerating spatial statistical computations for the parent package.
Pointpats provides statistical methods for analyzing planar point patterns, including clustering detection, distance-based tests, and spatial distribution metrics on Cartesian coordinates.
Install it if you need formal statistical tests on planar point patterns; skip it if your analysis is limited to simple distance or density calculations.
Parses RTCM3 differential GNSS protocol messages into structured data fields, enabling reading and serialization of GPS/GNSS correction data from streams, files, or sockets.
Install it if you work with differential GNSS systems, RTK applications, or need to parse RTCM3 correction streams.
Datacube provides an integrated gridded data analysis environment for managing and analyzing decades of analysis-ready earth observation satellite data from multiple acquisition systems.
Extends morecantile with command-line and Python tools to burn GeoJSON into tile coordinates, extract tile edges, union tiles into footprints, and generate tile density heatmaps across multiple TileMatrixSet grids.
Creates and manages mosaics of Cloud Optimized GeoTIFF files according to the mosaicJSON specification, enabling efficient access to large collections of geospatial imagery.
Converts STAC (SpatialTemporal Asset Catalog) metadata into xarray Datasets, with optional Dask support for distributed data loading and computation.
However, verify the license terms before use in proprietary projects, and confirm your workflow's actual dependency requirements.
Converts OpenStreetMap and Overpass API data (JSON or XML) into GeoJSON FeatureCollections or Shapely geometry objects with properties.
However, verify that the current API and feature set meet your needs, as the documentation notes ongoing development work and incomplete CLI testing.
PySAL is a meta-package that bundles 29 spatial analysis libraries for geospatial data science, enabling spatial clustering detection, network analysis, spatial regression, and exploratory spatio-temporal analysis on vector data.