An open-source Python library for geospatial data science with tools for spatial analysis, modeling, and visualization.
PySAL is an open-source Python library for geospatial data science that provides tools for spatial analysis, modeling, and visualization. It solves problems like detecting spatial clusters, performing spatial regression, analyzing networks, and measuring segregation, making it essential for researchers and analysts working with geographic data.
Geospatial data scientists, researchers in geography and urban studies, and analysts needing advanced spatial statistics and modeling capabilities in Python.
Developers choose PySAL for its comprehensive, modular ecosystem covering the full spectrum of spatial analysis—from exploratory data analysis to confirmatory modeling—all within a single, well-documented Python library.
PySAL: Python Spatial Analysis Library Meta-Package
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
PySAL's layered architecture (Lib, Explore, Model, Viz) allows targeted use for exploratory or confirmatory analysis, reducing dependency bloat while supporting the full spatial data science workflow.
It includes over 40 segregation indices, spatial regression models (e.g., geographically weighted regression), and network analysis tools, making it a one-stop shop for advanced spatial analytics.
Designed to interoperate with Python's data science stack, as seen in packages like gwlearn for scikit-learn compatibility and libpysal for geospatial data I/O.
Continuous integration, conda-forge support, and an active Discord channel ensure timely updates and user support, as highlighted in the README badges and documentation links.
PySAL emphasizes vector data analysis, so raster-based tasks (e.g., remote sensing) require additional libraries like rasterio, limiting its out-of-the-box utility for some geospatial workflows.
As a meta-package with many sub-packages (e.g., esda, spreg), installation and version compatibility can be tricky, especially for new users or in constrained environments.
It assumes familiarity with spatial statistics (e.g., autocorrelation, econometrics), making it less accessible for developers without a background in geography or advanced data science.