reverse_geocoder
Fast, offline reverse geocoder
What it is and what it does
Reverse Geocoder is an offline geocoding library that takes latitude/longitude pairs and returns the nearest town or city along with administrative regions (admin1 and admin2), country code, and coordinates. It uses a parallelized K-D tree for spatial lookups, making it faster than earlier reverse-geocoding approaches. The package returns structured data including place name, country code, and hierarchical administrative divisions.
The library is designed for batch lookups of multiple coordinates at once. It requires no network calls and operates entirely from bundled or custom data sources. However, the package has been abandoned since its last release in 2016-09-15, with no updates to address Python version changes or data freshness, making it a legacy tool that may require manual maintenance or verification before use in production environments.
Use it for:
- Batch reverse-geocoding of GPS coordinates from location logs without external API calls.
- Mapping latitude/longitude data to administrative regions for geographic analysis or reporting.
- Offline location name lookup in applications where network access is unavailable or undesirable.
- Enriching coordinate datasets with city and country information for data processing pipelines.
- Custom geocoding workflows using your own geographic data source instead of a public API.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reverse Geocoder converts latitude/longitude coordinates into the nearest town, city, and administrative regions, returning results offline with a K-D tree implementation.
No, not recommended for new projects. The package is abandoned (last release 2016-09-15), has high install friction, and python_support is unspecified. While it has no known vulnerabilities and lgpl licensing is transparent, the lack of maintenance and unclear Python compatibility make it a risky choice for production use.
Install
reverse-geocoder on PyPI
pip
pip install reverse-geocoderuv
uv add reverse-geocoderpoetry
poetry add reverse-geocoderInstalling reverse_geocoder
Before you install
High install friction: the package is abandoned (last release 2016-09-15, last commit 2023-03-19) with no runtime dependencies listed, suggesting it may require manual data setup or system-level dependencies not captured in metadata.
License in practice
Licensed under lgpl (copyleft), which requires that derivative works and modifications remain under the same license; redistribution of this package in proprietary software requires careful compliance review.
Quickstart
import reverse_geocoder as rg
coordinates = [(51.5214588, -0.1729636), (9.936033, 76.259952)]
results = rg.search(coordinates)
# Returns list of dicts with 'name', 'cc', 'lat', 'lon', 'admin1', 'admin2'
Package is abandoned; data files and Python support may require manual verification or updates to work with current Python versions.
Verify before relying
- Whether bundled geocoding data is current and complete for all regions.
- Compatibility with modern Python versions given unspecified python_support.
- Performance characteristics of the K-D tree implementation on large coordinate batches.
- Whether custom data sources can be loaded without modifying package internals.
Package facts
| License | lgpl (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,620 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 374,055/month — #7,150 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: reverse_geocoder-1.5.1.tar.gz
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
reverse-geocodeReverse Geocode converts latitude/longitude…
copyleft · top 15,000 on PyPI
geocoderGeocoder provides a unified Python interface to…
permissive · top 5,000 on PyPI
pgeocodepgeocode queries postal codes to retrieve GPS…
permissive · top 5,000 on PyPI
opencageA Python wrapper for the OpenCage Geocoding API…
permissive · top 15,000 on PyPI
censusgeocodeWraps the US Census Geocoder API to convert…
copyleft · top 15,000 on PyPI
geopygeopy is a Python client for geocoding and…
permissive · top 5,000 on PyPI
timezonefinderLooks up the timezone for any WGS84 coordinate…
unclear · top 5,000 on PyPI
convertbngConverts decimal WGS84 longitude/latitude…
unclear · top 15,000 on PyPI
placekeyConverts between Placekeys (location…
permissive · top 15,000 on PyPI
random-addressGenerates random real US addresses with…
permissive · top 15,000 on PyPI