spopt
spopt is a free, open-source Python library for optimization problems involving spatial data.
What spopt is
spopt is a free, open-source Python library for optimization problems involving spatial data. Its main areas are regionalization, facility location, and transportation-oriented solutions. Regionalization methods group smaller geographic units into larger areas, using approaches such as AZP, MaxP, Skater, and spatially constrained clustering. Facility-location models include set covering, maximal coverage, p-median, p-center, p-dispersion, and flow refueling location. Documented examples cover regional income, Airbnb, and grid clustering, along with choosing sites for first-aid stations and stores. Released packages are available through pip or conda-forge, while a development version can be installed from GitHub. The library supports Python 3.11 or later and runs on Linux, macOS, and Windows. Its requirements include scientific, geospatial, and optimization packages such as SciPy, NumPy, GeoPandas, and PuLP. The project is actively developed, welcomes contributors, and uses the BSD 3-Clause license. Questions can be raised through GitHub issues or discussions, or PySAL's Discord channel.
Good
- Free and open source under BSD 3-Clause.
- Supports regionalization and facility-location models.
- Runs on Linux, macOS, and Windows.
- Installable through pip or conda-forge.
Watch out
- Requires Python 3.11 or later.
- Depends on multiple scientific and geospatial packages.
Who it suits
spopt is for Python users working on spatial optimization, geographic clustering, or facility siting. Its documented examples may help users exploring those kinds of analyses.
Verdict
spopt offers a broad set of spatial optimization methods and documented use cases at no cost. Users should be comfortable with Python and its listed dependencies.
Plans and prices
From spopt's own pricing page, checked 5 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| spopt | Free | Open-source Python library · BSD 3-Clause license |
The facts
Each one read from spopt's own pages, with the date it was checked.
What it does
- Dependencies
- The repository lists SciPy, NumPy, pandas, NetworkX, libpysal, scikit-learn, GeoPandas, PuLP, Shapely, and spaghetti as requirements.checked 5 Oct 2026
- Development
- The project says it is under active development and welcomes contributors.checked 5 Oct 2026
- Examples
- Documented examples include regional income clustering, Airbnb clustering, grid clustering, and locating first-aid stations or store sites.checked 5 Oct 2026
- Facility location
- Its facility-location methods include set covering, maximal coverage, p-median, p-center, p-dispersion, and flow refueling location models.checked 5 Oct 2026
- Focus areas
- The project develops methods for regionalization, facility location, and transportation-oriented solutions.checked 5 Oct 2026
- Install options
- The released package can be installed with pip or conda-forge, and a development version can be installed from GitHub.checked 5 Oct 2026
- Intended audience
- The project describes itself as a spatial optimization package and provides examples involving geographic clustering and facility siting.checked 5 Oct 2026
- License
- The repository states that spopt is licensed under the BSD 3-Clause license.checked 5 Oct 2026
- Purpose
- spopt is an open-source Python library for solving optimization problems with spatial data.checked 5 Oct 2026
- Python requirement
- The installation guide says spopt supports Python 3.11 or later.checked 5 Oct 2026
- Regionalization
- Its regionalization methods aggregate smaller geographic units into larger regions using methods such as AZP, MaxP, Skater, and spatially constrained clustering.checked 5 Oct 2026
- Security
- The repository identifies itself as a public project and links to its security and quality page, but the opened pages make no security or compliance claims.checked 5 Oct 2026
- Solver example
- The repository’s facility-location example uses PuLP with the CBC solver.checked 5 Oct 2026
- Support
- Users can ask questions through GitHub issues, GitHub discussions, or PySAL’s Discord channel.checked 5 Oct 2026
Alternatives to spopt
- 1

Felt
Free planAndroidiOSWebAPI8.2From $199 a month - 2
NASA WorldWind
Free planOpen sourceAndroidWebAPILinux7.9Free plan - 3

Maptitude
AndroidiOSWebAPI7.8From $795 a year - 4
Mapbox Studio
Free planAndroidiOSWebAPI7.7Free plan - 5
StatSilk
Free planAndroidiOSWebAPI7.7From $495 a year - 6

GIS Cloud
Free planAndroidiOSWebAPI7.5From $5 a month
