// the find
wybert/georouting
Geo routing for Python users, supporting most of the routing tools, including OSRM, Google Maps, Bing Maps, etc. with a unified API.
A unified Python wrapper for a dozen routing services (Google Maps, OSRM, Bing, HERE, Mapbox, TomTom, ESRI, OpenRouteService, osmnx, Baidu) behind a single consistent API. Aimed at GIS researchers and data scientists who need travel-time matrices between many origin-destination pairs without rewriting code when switching providers. The geopy comparison is apt — same idea, different problem domain.
Returns results as GeoPandas GeoDataFrames and Pandas DataFrames directly, so it fits naturally into a spatial analysis notebook without any glue code. Supports both point-to-point routes and OD matrix calculation, which is the harder and more useful case for most research workflows. OSRM support works without any API key against the public server, making it genuinely free to evaluate. The provider list is wide enough that you can swap from a paid service to self-hosted OSRM just by changing the router class.
112 stars and one active contributor in three years is a thin bus factor — if a provider changes their API response schema, you're probably filing the fix yourself. No async support anywhere; if you're hitting a rate-limited API with thousands of OD pairs, you'll be doing it serially. The unified API means you get the lowest common denominator: provider-specific features (traffic models, waypoint constraints, route alternatives) are either missing or require dropping out of the abstraction. Still on setup.py with no pyproject.toml, which is a minor annoyance for modern tooling.