cityseer
Computational tools for network-based pedestrian-scale urban analysis
Decision gist · record as of 2026-08-14
Yes, if you are conducting pedestrian-scale urban network analysis or research. The package is actively maintained, supports current Python versions, has no known vulnerabilities, and integrates well with standard geospatial tools. The AGPL-3.0 license is permissive for open-source and research use but requires review for proprietary integration. Medium install friction is acceptable for specialized geospatial work. Not suitable if you need a lightweight, minimal-dependency tool or are restricted to permissive licenses.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10–3.14; geospatial dependencies (geopandas, rasterio) may need system libraries; Rust toolchain required only for development builds.
- Medium install friction due to 12 runtime dependencies including geospatial libraries (geopandas, rasterio, pyogrio, osmnx) and compiled extensions (Rust-backed).
- Active maintenance with a release 14 days old and recent commits; Python 3.10–3.14 support is current.
License · maintenance · safety
AGPL-3.0 (agpl) — AGPL-3.0 license requires derivative works and modifications to be shared under the same license. Suitable for research and open-source projects; review licensing obligations if integrating into proprietary software.
last release 2026-07-31 (14 days) · last repo commit 2026-07-31 · 123 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 126,803 downloads/mo, #11,766 on PyPI
Alternatives
Verify before relying
pip install cityseer
import cityseer
from cityseer import metrics
# Load a network graph and compute centrality metrics
# See https://cityseer.benchmarkurbanism.com/ for detailed examples- Performance characteristics and scalability limits for large or decomposed graphs.
- Whether the package supports custom graph formats beyond osmnx and NetworkX structures.
What it is and what it does
Cityseer is a Python package for pedestrian-scale urban network analysis, combining network topology, geospatial data, and statistical methods to measure urban form and accessibility. It computes network centrality metrics (including harmonic closeness and segment-weighted variants) on primal or dual graphs, calculates land-use accessibility and mixed-use indices with dynamic aggregation, and performs pedestrian-flow betweenness analysis. The package integrates with the NumPy ecosystem (NetworkX, GeoPandas, Shapely, Rasterio) and uses Rust-backed algorithms for computationally intensive loops, enabling analysis of large or decomposed street networks.
Typical workflows involve extracting street networks from OpenStreetMap via osmnx, assigning land-use or other contextual data to street segments, and computing multi-scalar metrics from selected analysis points. The package supports high-resolution, moving-window analysis with strict network-distance thresholds and facilitates downstream machine learning and data science tasks by generating multi-variable datasets. It is designed for urbanists, researchers, and planners conducting computational urban analytics.
Use it for
- Compute network centrality measures on street networks to identify structurally important locations.
- Assess land-use accessibility and mixed-use diversity around points of interest using network-distance thresholds.
- Analyze pedestrian-flow demand and origin-destination betweenness to understand movement patterns.
- Generate multi-variable urban datasets combining centrality and accessibility for machine learning.
- Perform high-resolution moving-window urban morphometric analysis with network-based distance constraints.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are conducting pedestrian-scale urban network analysis or research.
The package is actively maintained, supports current Python versions, has no known vulnerabilities, and integrates well with standard geospatial tools. The AGPL-3.0 license is permissive for open-source and research use but requires review for proprietary integration. Medium install friction is acceptable for specialized geospatial work. Not suitable if you need a lightweight, minimal-dependency tool or are restricted to permissive licenses.
Install
cityseer on PyPI
Before you install
Medium install friction due to 12 runtime dependencies including geospatial libraries (geopandas, rasterio, pyogrio, osmnx) and compiled extensions (Rust-backed). Active maintenance with a release 14 days old and recent commits; Python 3.10–3.14 support is current.
Requires Python 3.10–3.14; geospatial dependencies (geopandas, rasterio) may need system libraries; Rust toolchain required only for development builds.
License in practice
AGPL-3.0 license requires derivative works and modifications to be shared under the same license. Suitable for research and open-source projects; review licensing obligations if integrating into proprietary software.
Quickstart
pip install cityseer
import cityseer
from cityseer import metrics
# Load a network graph and compute centrality metrics
# See https://cityseer.benchmarkurbanism.com/ for detailed examples
Verify before relying
- Performance characteristics and scalability limits for large or decomposed graphs.
- Whether the package supports custom graph formats beyond osmnx and NetworkX structures.
Package facts
| License | AGPL-3.0 agpl |
| Python support | Supports the current Python release <3.15,>=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 12 packagesmatplotlibnetworkxpyprojrequeststqdmshapelynumpygeopandasrasteriopyogrioosmnxstatsmodels |
| Maintenance | Actively maintained 14 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 126,803 / month, #11,766 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Rust |
Evidence: cityseer-5.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; cityseer-5.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; cityseer-5.8.0-cp310-cp310-win_amd64.whl; cityseer-5.8.0-cp311-cp311-macosx_10_12_x86_64.whl; cityseer-5.8.0-cp311-cp311-macosx_11_0_arm64.whl; cityseer-5.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; cityseer-5.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; cityseer-5.8.0-cp311-cp311-win_amd64.whl; cityseer-5.8.0-cp312-cp312-macosx_10_12_x86_64.whl; cityseer-5.8.0-cp312-cp312-macosx_11_0_arm64.whl; cityseer-5.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; cityseer-5.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; cityseer-5.8.0-cp312-cp312-win_amd64.whl; cityseer-5.8.0-cp313-cp313-macosx_10_12_x86_64.whl; cityseer-5.8.0-cp313-cp313-macosx_11_0_arm64.whl; cityseer-5.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; cityseer-5.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; cityseer-5.8.0-cp313-cp313-win_amd64.whl; cityseer-5.8.0-cp314-cp314-macosx_10_12_x86_64.whl; cityseer-5.8.0-cp314-cp314-macosx_11_0_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “network centrality analysis”
- cityseerComputes network centrality, land-use accessibility, mixed-use…
- graphframes-pyGraphFrames Python wrapper provides graph processing and analysis on…
- python-igraphPython interface to the igraph graph library for network analysis and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also osmnx · access · momepy · segregation · spatial-access · giddy · pysal · walkscore-api · overpy