Install & Compatibility
Where this runs
tested against v0.9.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
build_error
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 18.4s · import 5.888s · 521MB
523MB installed
● package 523MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
momepy
✓ import momepy
✗ import momepy as mp
While common, momepy does not export a top-level 'mp' alias; use 'momepy' directly or import submodules.
momepy.Continuity
✓ from momepy import Continuity
✗ from momepy.continuity import Continuity
As of v0.11.0, Continuity is a class directly in the top-level namespace; the submodule is not public.
momepy.morphological_tessellation
✓ from momepy import morphological_tessellation
✗ import momepy.morphological_tessellation
Functions are accessible via momepy.function_name, not as a submodule.
momepy.Streetscape
✓ from momepy import Streetscape
✗ import momepy.Streetscape
Streetscape is a class, imported directly from momepy.
This quickstart loads a sample dataset, generates a morphological tessellation (Voronoi-like cells from building footprints), and calculates the area of each cell.
import geopandas as gpd
import momepy
# Load sample buildings from momepy
buildings = gpd.read_file(momepy.datasets.get_path('bubenec'))
# Generate morphological tessellation
tessellation = momepy.morphological_tessellation(buildings)
# Compute area of tessellation cells
tessellation['area'] = tessellation.geometry.area
print(tessellation.head())
Errors
Common errors & fixes
AttributeError: module 'momepy' has no attribute 'Area'
The old class-based API was replaced with functions in v0.8.0.
fixUse `momepy.area(tessellation)` instead of `momepy.Area(tessellation).`
TypeError: morphological_tessellation() got an unexpected keyword argument 'simplify'
The `simplify` keyword was added in v0.10.0. Older versions do not have it.
fixUpgrade momepy to v0.10.0 or later: `pip install momepy>=0.10.0`
ValueError: CRS is not set. Please set a CRS on the GeoDataFrame.
momepy functions require a valid CRS; input had no CRS.
fixSet CRS: `gdf.set_crs(epsg=4326, inplace=True)` before passing to momepy.
ImportError: cannot import name 'Continuity' from 'momepy'
Continuity was added in v0.11.0. Older versions do not have it.
fixUpgrade to v0.11.0: `pip install -U momepy`. Then use `from momepy import Continuity`.
UserWarning: Geodataframe has no CRS. Assuming EPSG:3857.
CRS is missing and momepy defaults to Web Mercator; results may be incorrect if input is in a different CRS.
fixExplicitly set CRS on input: `gdf = gdf.set_crs(epsg=4326).to_crs(epsg=3857)`.
Upgrade
Version history
0.11.0latest on PyPI · released Dec 23, 2025
Audit
Dependencies
libpysalrequiredCore dependency for spatial graph (Graph) and weights
geopandasrequiredGeometry and spatial data handling
networkxrequiredNetwork representation for street networks
numpyrequiredArray operations and numerical calculations
tqdmrequiredProgress bars for long-running operations
pandasrequiredDataFrame manipulation of results
shapelyrequiredGeometric operations on shapes