osmnx
Download, model, analyze, and visualize street networks and other geospatial features from OpenStreetMap
Decision gist · record as of 2026-08-14
Yes. OSMnx is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. It solves a real problem—programmatic access to OSM street and geospatial data—with a mature API backed by strong community adoption. Install it if you need to work with street networks, urban amenities, or geospatial features from OpenStreetMap.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later.
- Depends on geopandas and its system-level spatial library requirements (GEOS, PROJ).
- Low install friction with a pure-Python wheel and six well-established runtime dependencies (geopandas, networkx, numpy, pandas, requests, shapely).
License · maintenance · safety
MIT (permissive) — MIT license is permissive and imposes no restrictions on your use. OpenStreetMap's open data license requires that derivative works provide proper attribution to the source.
last release 2026-07-21 (24 days) · last repo commit 2026-07-31 · 5,811 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 731,517 downloads/mo, #5,205 on PyPI
Alternatives
Verify before relying
pip install osmnx
import osmnx as ox
# Download and model a street network
G = ox.graph_from_place('Manhattan, New York, USA', network_type='drive')- Whether the package handles large-scale network downloads efficiently or has memory/performance limits for very large areas.
- Specifics on which OpenStreetMap data types and tags are supported beyond street networks and amenities.
What it is and what it does
OSMnx is a Python geospatial library that bridges OpenStreetMap data and network analysis. It lets you download street networks, building footprints, transit stops, amenities, and other geographic features with simple function calls, then model them as graphs using networkx for analysis and visualization. The package handles the complexity of querying OSM's API, parsing the results, and converting them into spatial data structures (via geopandas and shapely) that you can analyze for routing, connectivity, urban planning, or research.
You work with it by specifying a place name or geographic boundary, choosing a network type (walking, driving, biking), and calling a single function to get back a graph or GeoDataFrame. It's designed for urban researchers, planners, and developers who need to programmatically access and analyze real-world street and amenity data without manual downloads or GIS software.
Use it for
- Download and analyze street connectivity and network topology for urban planning or transportation research.
- Extract building footprints and amenities (restaurants, shops, transit stops) from OSM for location-based analysis.
- Model walking or cycling networks to study accessibility, route efficiency, or urban design patterns.
- Visualize street orientations and network structure to understand urban morphology.
- Compute routing and travel-time analysis on real street networks for mobility studies.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
OSMnx is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. It solves a real problem—programmatic access to OSM street and geospatial data—with a mature API backed by strong community adoption. Install it if you need to work with street networks, urban amenities, or geospatial features from OpenStreetMap.
Install
osmnx on PyPI
Before you install
Low install friction with a pure-Python wheel and six well-established runtime dependencies (geopandas, networkx, numpy, pandas, requests, shapely). Actively maintained with a recent release 24 days ago and strong community engagement (5811 GitHub stars).
Requires Python 3.11 or later. Depends on geopandas and its system-level spatial library requirements (GEOS, PROJ).
License in practice
MIT license is permissive and imposes no restrictions on your use. OpenStreetMap's open data license requires that derivative works provide proper attribution to the source.
Quickstart
pip install osmnx
import osmnx as ox
# Download and model a street network
G = ox.graph_from_place('Manhattan, New York, USA', network_type='drive')
Verify before relying
- Whether the package handles large-scale network downloads efficiently or has memory/performance limits for very large areas.
- Specifics on which OpenStreetMap data types and tags are supported beyond street networks and amenities.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesgeopandasnetworkxnumpypandasrequestsshapely |
| Maintenance | Actively maintained 24 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 731,517 / month, #5,205 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: GISTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: MathematicsTopic :: Scientific/Engineering :: PhysicsTopic :: Scientific/Engineering :: VisualizationTyping :: Typed |
Evidence: osmnx-2.1.1-py3-none-any.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 › “openstreetmap street network analysis”
- osmnxOSMnx downloads, models, and analyzes street networks and geospatial…
- cityseerComputes network centrality, land-use accessibility, mixed-use…
- momepyMomepy quantifies urban form through morphometric measurements:…
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 cityseer · momepy · osmium · overpy · osm2geojson · spatial-access · pysal · arcgis · staticmap · overturemaps