pointpats
Methods and Functions for planar point pattern analysis
What it is and what it does
Pointpats is a spatial statistics library for analyzing the distribution and clustering of points on a 2D plane. It is part of the PySAL ecosystem and provides methods to detect non-random patterns, measure spatial clustering, and test hypotheses about point distributions. The package works with Cartesian coordinates and depends on standard scientific Python tools: numpy for numerical computation, scipy for statistical functions, pandas for data handling, geopandas and shapely for geometric operations, and matplotlib for visualization. It is designed for researchers and analysts working with spatial data who need to move beyond simple descriptive statistics to formal hypothesis testing on point patterns.
The package requires Python 3.12 or later and is actively maintained. Users with geographic coordinate data must project their data to Cartesian space before analysis. The library integrates naturally with the broader PySAL ecosystem, making it suitable for workflows that combine point pattern analysis with other spatial methods.
Use it for:
- Detect whether disease cases or crime incidents cluster spatially or occur randomly across a region
- Test for spatial randomness in ecological survey data such as tree or plant locations
- Analyze clustering of retail locations or service points to inform business planning
- Validate whether observed point patterns differ significantly from null models of random distribution
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pointpats provides statistical methods for analyzing planar point patterns, including clustering detection, distance-based tests, and spatial distribution metrics on Cartesian coordinates.
Yes. Pointpats is actively maintained, has no known vulnerabilities, uses a permissive license, and installs with low friction. It fills a specific niche in spatial statistics with a focused API. 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.
Install
pointpats on PyPI
pip
pip install pointpatsuv
uv add pointpatspoetry
poetry add pointpatsInstalling pointpats
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a recent release 52 days ago and ongoing repository activity.
License in practice
BSD 3-Clause is permissive; you can use this package in commercial and proprietary projects with minimal restrictions beyond retaining the license notice.
Quickstart
pip install pointpats
import pointpats
from pointpats import PoissonPointProcess
# Analyze a point pattern for clustering
pattern = pointpats.PoissonPointProcess(...) # your point data
Data must be in Cartesian coordinates; geographic coordinate data must be projected first. Requires Python 3.12 or later.
Verify before relying
- Specific statistical methods and tests available in version 2.6.0 beyond what the description excerpt covers
- Whether the package handles edge cases or boundary conditions in point pattern analysis
- Performance characteristics or scalability limits for large point datasets
Package facts
| License | BSD 3-Clause (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — libpysal, geopandas, matplotlib, numpy, pandas, scipy, shapely |
| Maintenance | actively maintained — 52 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 124,469/month — #11,867 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pointpats-2.6.0-py3-none-any.whl
Keywords: spatial statistics, point patterns
Tags
More GIS packages
Shapely provides Python tools for creating,…
permissive · top 1,000 on PyPI
pyprojpyproj provides a Python interface to PROJ,…
permissive · top 1,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI
geopygeopy is a Python client for geocoding and…
permissive · top 5,000 on PyPI
pyogrioPyogrio provides fast, bulk-oriented read and…
permissive · top 5,000 on PyPI
h3h3 provides Python bindings to Uber's H3…
permissive · top 5,000 on PyPI
esdaesda computes global and local spatial…
permissive · top 15,000 on PyPI
mapclassifyMapclassify implements classification schemes…
permissive · top 5,000 on PyPI
inequalityInequality provides methods for measuring…
permissive · top 15,000 on PyPI
pysalPySAL is a meta-package that bundles 29 spatial…
permissive · top 15,000 on PyPI
splotsplot creates static and interactive…
permissive · top 15,000 on PyPI
libpysallibpysal provides core spatial analysis…
permissive · top 15,000 on PyPI
spoptSpopt solves spatial optimization problems…
permissive · top 15,000 on PyPI
segregationCalculates over 40 segregation indices—both…
permissive · top 15,000 on PyPI
giddyGiddy provides methods for exploratory…
permissive · top 15,000 on PyPI
toblerTobler transfers spatial data between different…
permissive · top 15,000 on PyPI