googlemaps
Python client library for Google Maps Platform
What it is and what it does
This is a Python wrapper around Google's Maps Platform web service APIs. It lets you call Google's geocoding, directions, distance matrix, elevation, geolocation, time zone, roads, places, address validation, and static maps endpoints from Python code without building HTTP requests manually. You instantiate a Client with your API key and call methods like geocode(), directions(), or reverse_geocode() to get structured responses.
The library handles authentication, request formatting, and response parsing. It includes automatic retry logic for transient 5xx failures. The package is community-supported and marked Beta; while it aims for backwards compatibility, the documentation reserves the right to make breaking changes while in version 0.x. It requires Python 3.5 or later and depends on the requests library for HTTP transport.
Use it for:
- Geocode addresses to latitude/longitude coordinates or reverse-geocode coordinates to addresses in batch or real-time workflows.
- Fetch driving, transit, walking, or cycling directions and distance matrices between multiple locations for routing or logistics applications.
- Look up time zones, elevation data, or validate postal addresses programmatically in data processing pipelines.
- Query nearby places, place details, or autocomplete place names for location-aware features in web or mobile backends.
- Build location-based services that combine multiple Maps APIs (e.g., find nearby places, then get directions to them).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library that wraps Google Maps Platform web service APIs, enabling geocoding, directions, distance matrices, elevation, time zones, places, and address validation from Python applications.
Yes, with conditions. The library is stable, permissively licensed, and actively maintained despite infrequent releases. High install friction (source-only distribution) and a 1296-day gap since the last PyPI release are notable drawbacks, but the repository shows recent activity. Install it if you need to call Google Maps APIs from Python and can tolerate building from source; verify that your Python version and the requests library version meet the documented requirements before deploying.
Install
googlemaps on PyPI
pip
pip install googlemapsuv
uv add googlemapspoetry
poetry add googlemapsInstalling googlemaps
Before you install
High install friction due to source distribution only (no wheels). Last release was 1296 days ago; repository is active with recent commits (2026-07-14) and 4969 stars, indicating ongoing maintenance despite infrequent PyPI updates.
License in practice
Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for production applications.
Quickstart
pip install googlemaps
import googlemaps
from datetime import datetime
gmaps = googlemaps.Client(key='your-api-key')
result = gmaps.geocode('1600 Amphitheatre Parkway, Mountain View, CA')
directions = gmaps.directions('Sydney Town Hall', 'Parramatta, NSW', mode='transit', departure_time=datetime.now())
Requires a valid Google Maps API key from Google Cloud Console; requests 2.4.0 or higher needed for connect/read timeout support.
Verify before relying
- Whether requests library is automatically installed as a dependency or must be installed separately.
- Current status of Python 3.5 and 3.6 support given the package's age and modern Python ecosystem.
- Retry-on-failure behavior scope: which 5xx errors trigger automatic retry and what are the retry limits.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | actively maintained — 1,296 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,169,106/month — #2,716 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: googlemaps-4.10.0.tar.gz
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
mapboxA Python client library for Mapbox web…
permissive · top 15,000 on PyPI
azure-maps-searchProvides a Python client for Azure Maps Search…
permissive · top 15,000 on PyPI
geocoderGeocoder provides a unified Python interface to…
permissive · top 5,000 on PyPI
geopygeopy is a Python client for geocoding and…
permissive · top 5,000 on PyPI
google-maps-placesPython client library for Google Maps Places…
permissive · top 15,000 on PyPI
smartystreets-python-sdkA client library for accessing SmartyStreets…
permissive · top 15,000 on PyPI
censusgeocodeWraps the US Census Geocoder API to convert…
copyleft · top 15,000 on PyPI
placekeyConverts between Placekeys (location…
permissive · top 15,000 on PyPI
aiogoogleAiogoogle is an async Python client for…
permissive · top 5,000 on PyPI
google-maps-addressvalidationPython client library for Google Maps Address…
permissive · top 15,000 on PyPI