dask-geopandas
Parallel GeoPandas with Dask
What it is and what it does
Dask-GeoPandas bridges Dask and GeoPandas to enable parallel processing of geospatial data. It takes a GeoPandas DataFrame and repartitions it into a Dask-backed structure, allowing spatial operations—like geometry calculations, spatial joins, and filtering—to run across multiple partitions in parallel or on distributed clusters. This is useful when your geographic dataset is too large to fit comfortably in memory on a single machine, or when you want to leverage cluster resources to speed up spatial computations.
The package exposes the familiar GeoPandas API (geometry attributes, spatial methods) on top of Dask's lazy evaluation model, so you write code much like you would with GeoPandas, but operations are distributed. It depends on geopandas, shapely, dask, and packaging, and requires Python 3.10 or later. The project is actively maintained, has no known vulnerabilities, and is licensed under BSD 3-Clause.
Use it for:
- Process multi-gigabyte shapefiles or geographic datasets that exceed available RAM by partitioning across a cluster.
- Accelerate spatial joins, buffer operations, or geometric calculations on large datasets using parallel workers.
- Build reproducible geospatial ETL pipelines that scale from laptop to cloud cluster without code changes.
- Compute area, distance, or containment checks on millions of geometries in parallel.
- Integrate geospatial analysis into larger Dask workflows alongside other distributed data processing steps.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Dask-GeoPandas parallelizes geospatial operations by combining GeoPandas' spatial capabilities with Dask's distributed computing, allowing you to process large geographic datasets across multiple partitions.
Yes. Dask-GeoPandas is production-stable, actively maintained, has no security vulnerabilities, and solves a real problem: scaling geospatial operations beyond single-machine limits. Install it if you work with large geographic datasets and need parallel processing. The low install friction and permissive license make adoption straightforward; the main constraint is requiring Python 3.10+.
Install
dask-geopandas on PyPI
pip
pip install dask-geopandasuv
uv add dask-geopandaspoetry
poetry add dask-geopandasInstalling dask-geopandas
Before you install
Low friction: pure Python wheel, four straightforward runtime dependencies (geopandas, shapely, dask, packaging). Actively maintained with recent commits and stable status since early releases.
License in practice
BSD 3-Clause is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
import geopandas
import dask_geopandas
df = geopandas.read_file('file.shp')
ddf = dask_geopandas.from_geopandas(df, npartitions=4)
result = ddf.geometry.area.compute()
Requires Python >= 3.10; geopandas, shapely, and dask must be installed first (typically via conda to handle geospatial system dependencies).
Verify before relying
- Performance gains and scalability limits for typical dataset sizes and cluster configurations.
- Compatibility with specific versions of geopandas, shapely, and dask beyond the general runtime dependency list.
- Support for all GeoPandas spatial operations or limitations on certain methods in parallel contexts.
Package facts
| License | BSD 3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — geopandas, shapely, dask, packaging |
| Maintenance | actively maintained — 438 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 79,104/month — #14,380 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dask_geopandas-0.5.0-py3-none-any.whl
Keywords: dask, geopandas, spatial, distributed, cluster
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI
apache-sedonaPython wrapper for Apache Sedona, a cluster…
permissive · top 5,000 on PyPI
daskDask is a parallel computing library that…
permissive · top 1,000 on PyPI
dask-imageDistributed image processing using Dask,…
permissive · top 15,000 on PyPI
geodatasetsGeodatasets provides a curated database of…
permissive · top 15,000 on PyPI
toblerTobler transfers spatial data between different…
permissive · top 15,000 on PyPI
distributedDistributed provides a scheduler and runtime…
permissive · top 5,000 on PyPI
fastparquetfastparquet reads and writes Apache Parquet…
permissive · top 5,000 on PyPI
gstools-cythonProvides optimized Cython implementations of…
copyleft · top 15,000 on PyPI
pygeosPyGEOS wraps GEOS geometry operations in NumPy…
permissive · top 15,000 on PyPI