apache-sedona
Apache Sedona is a cluster computing system for processing large-scale spatial data
What it is and what it does
Apache Sedona is a Python wrapper around a distributed spatial computing engine built on Apache Spark. It provides spatial data types and query operations (Spatial Resilient Distributed Datasets and SpatialSQL) that let you load, filter, join, and analyze geographic data across a cluster of machines. The package depends on attrs and shapely for geometry representation and attribute handling.
You use it when you need to process geographic datasets too large for a single machine—think analyzing millions of GPS points, performing spatial joins across continents of map data, or computing geometric relationships at scale. It integrates directly with Spark's SQL engine and DataFrame API, so if you know PySpark, the spatial extensions feel natural.
Use it for:
- Analyze millions of GPS trajectories or sensor readings distributed across a cluster to find patterns or anomalies.
- Perform large-scale spatial joins (e.g., which customers fall within delivery zones) on datasets that don't fit in memory.
- Process global map or geospatial datasets (roads, buildings, administrative boundaries) for urban planning or logistics optimization.
- Query and filter geographic features by spatial relationships (containment, proximity, intersection) in distributed SQL.
- Build data pipelines that combine geographic data with other structured data in a unified Spark ecosystem.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python wrapper for Apache Sedona, a cluster computing system that extends Apache Spark with spatial data processing capabilities for loading, processing, and analyzing large-scale geographic data across distributed machines.
Yes, if you are already using Apache Spark and need to process large-scale spatial data. The package is actively maintained, has no known vulnerabilities, and integrates cleanly with Spark's ecosystem. Install friction is moderate but manageable with pre-built wheels across platforms. Not worth installing if you lack Spark infrastructure or are working with small, single-machine geographic datasets.
Install
apache-sedona on PyPI
pip
pip install apache-sedonauv
uv add apache-sedonapoetry
poetry add apache-sedonaInstalling apache-sedona
Before you install
Medium install friction due to compiled wheels across multiple Python versions and platforms. Active maintenance with recent releases; repository shows 2380 stars and last commit on 2026-08-14, indicating ongoing development and community support.
License in practice
Apache-2.0 is permissive and allows commercial use, modification, and distribution with minimal restrictions. You must include a copy of the license and state significant changes, but there are no copyleft obligations.
Quickstart
pip install apache-sedona
import sedona
from sedona.spark import *
# Requires Apache Spark and a Spark session configured with Sedona extensions
Requires Apache Spark to be installed and configured; a SparkSession with Sedona extensions must be initialized before use.
Verify before relying
- Whether Sedona's Python wrapper supports all spatial operations available in the Java/Scala backend.
- Specific performance characteristics or scalability limits for typical workloads.
- Whether additional Java dependencies or environment variables are required beyond Spark.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — attrs, shapely |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,279,341/month — #3,168 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: apache_sedona-1.9.1-cp310-cp310-macosx_10_9_x86_64.whl; apache_sedona-1.9.1-cp310-cp310-macosx_11_0_arm64.whl; apache_sedona-1.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; apache_sedona-1.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; apache_sedona-1.9.1-cp310-cp310-win_amd64.whl; apache_sedona-1.9.1-cp310-cp310-win_arm64.whl; apache_sedona-1.9.1-cp311-cp311-macosx_10_9_x86_64.whl; apache_sedona-1.9.1-cp311-cp311-macosx_11_0_arm64.whl; apache_sedona-1.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; apache_sedona-1.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; apache_sedona-1.9.1-cp311-cp311-win_amd64.whl; apache_sedona-1.9.1-cp311-cp311-win_arm64.whl; apache_sedona-1.9.1-cp312-cp312-macosx_10_13_x86_64.whl; apache_sedona-1.9.1-cp312-cp312-macosx_11_0_arm64.whl; apache_sedona-1.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; apache_sedona-1.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; apache_sedona-1.9.1-cp312-cp312-win_amd64.whl; apache_sedona-1.9.1-cp312-cp312-win_arm64.whl; apache_sedona-1.9.1-cp313-cp313-macosx_10_13_x86_64.whl; apache_sedona-1.9.1-cp313-cp313-macosx_11_0_arm64.whl
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
pysparkPySpark provides Python bindings to Apache…
permissive · top 1,000 on PyPI
dask-geopandasDask-GeoPandas parallelizes geospatial…
permissive · top 15,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI
pyspark-clientPython client for connecting to Apache Spark…
permissive · top 5,000 on PyPI
raydpRayDP runs Apache Spark on Ray and integrates…
permissive · top 15,000 on PyPI
pyspark-pandasProvides tools for distributing Pandas…
unclear · top 5,000 on PyPI
spatialdataSpatialData is a data framework and…
permissive · top 15,000 on PyPI
GeoAlchemy2GeoAlchemy2 extends SQLAlchemy to work with…
permissive · top 5,000 on PyPI
apache-airflow-providers-apache-sparkIntegrates Apache Spark with Apache Airflow,…
permissive · top 5,000 on PyPI
pyvespapyvespa provides a Python API to create,…
permissive · top 5,000 on PyPI