$npx skillfedfor your agent

tzwhere

Python library to look up timezone from lat / long offline

With conditionsPyPI LocalizationReleased Aug 2017686.4K downloads / moMIT LicenseSource build

Decision gist · record as of 2026-08-14

sdist only — tzwhere-3.0.3.tar.gz · builds from source
v3.0.3 · released 2017-08-24

Yes, if you need offline timezone lookup and can tolerate the install friction and dormant maintenance status. The package is stable and has no known vulnerabilities, but it has not been updated since 2017-08-24 and the repository shows no recent activity. It remains in the top tier of PyPI packages, suggesting it works reliably for its narrow use case. Consider it a solved problem for coordinate-to-timezone mapping, but verify that the embedded polygon data meets your accuracy requirements and that you can accept the large initial memory footprint.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • The package requires shapely and embeds large timezone polygon data; initial instantiation loads this data into memory.
  • High install friction: the package ships as a source tarball and carries a large embedded timezone polygon dataset.
  • No runtime dependencies are declared, though the description notes shapely as a dependency and numpy as optional.

License · maintenance · safety

MIT License (permissive) — MIT License (permissive): you may use, modify, and distribute this package freely in commercial and private projects, provided you retain the license notice.

last release 2017-08-24 (3277 days) · last repo commit 2024-01-28 · 147 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 686,408 downloads/mo, #5,348 on PyPI

Verify before relying

from tzwhere import tzwhere
tz = tzwhere.tzwhere()
print(tz.tzNameAt(35.29, -89.66))
  • Whether shapely is truly a required runtime dependency or only optional, as the description lists it under 'Dependencies' without clarifying its status.
  • Current compatibility with modern Python versions and whether Python 2 support is still functional.
  • Whether the embedded VMAP0 polygon data has been updated since the last release in 2017.
  • Actual download volume and user base, as popularity metrics may not reflect current active usage.
Same gist for agents: .md · .json

What it is and what it does

pytzwhere is an offline timezone lookup library that takes a latitude and longitude and returns the IANA timezone name for that location. It uses polygon data derived from VMAP0 and work by Eric Muller to map geographic coordinates to timezones without requiring a network call. The library handles most points accurately, but acknowledges that some locations fall outside VMAP0 polygon boundaries; it offers a fallback mode to search for the closest timezone within a user-defined radius for edge cases.

The package is a Python port of an earlier JavaScript implementation. It has no declared runtime dependencies in the package metadata, though the description mentions shapely as a dependency and numpy as optional. The main trade-off is install friction: the package ships with embedded timezone polygon data that must be loaded into memory on first use, making it suitable for applications that need reliable offline timezone resolution but not for extremely lightweight deployments.

Use it for

  • Resolve timezone for GPS coordinates in mobile or IoT applications without network access.
  • Batch-process location data to assign timezones for logging, scheduling, or reporting.
  • Build location-aware features in web services where timezone must be inferred from user coordinates.
  • Handle timezone assignment in offline-first or disconnected applications.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need offline timezone lookup and can tolerate the install friction and dormant maintenance status.

The package is stable and has no known vulnerabilities, but it has not been updated since 2017-08-24 and the repository shows no recent activity. It remains in the top tier of PyPI packages, suggesting it works reliably for its narrow use case. Consider it a solved problem for coordinate-to-timezone mapping, but verify that the embedded polygon data meets your accuracy requirements and that you can accept the large initial memory footprint.

Install

tzwhere on PyPI

Before you install

High install friction: the package ships as a source tarball and carries a large embedded timezone polygon dataset. No runtime dependencies are declared, though the description notes shapely as a dependency and numpy as optional. Last release was 2017-08-24; the repository is not archived but has been dormant for over 3277 days.

The package requires shapely and embeds large timezone polygon data; initial instantiation loads this data into memory.

License in practice

MIT License (permissive): you may use, modify, and distribute this package freely in commercial and private projects, provided you retain the license notice.

Quickstart

from tzwhere import tzwhere
tz = tzwhere.tzwhere()
print(tz.tzNameAt(35.29, -89.66))

Verify before relying

  • Whether shapely is truly a required runtime dependency or only optional, as the description lists it under 'Dependencies' without clarifying its status.
  • Current compatibility with modern Python versions and whether Python 2 support is still functional.
  • Whether the embedded VMAP0 polygon data has been updated since the last release in 2017.
  • Actual download volume and user base, as popularity metrics may not reflect current active usage.

Package facts

LicenseMIT License permissive
Python supportNot specified
Install frictionHigh. Source build required
Runtime dependenciesNone
MaintenanceDormant 3,277 days since the last release
Last repo commit
First released
Downloads686,408 / month, #5,348 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Software Development :: Localization

Evidence: tzwhere-3.0.3.tar.gz

Tags

Capabilities
timezone lookup from coordinateslat lng to timezone offlinegeolocation timezonetimezone from latitude longitudeoffline timezone databasecoordinate to timezone mapping
Topics
geolocationoffline-firsttimezone-data

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 › “lat lng to timezone offline”

  • tzwhereLooks up the IANA timezone name for a given latitude and longitude…
  • timezonefinderLooks up the timezone for any WGS84 coordinate (latitude/longitude)…
  • flexpolylineEncodes and decodes geographic coordinate sequences into a compressed…

Give your agent the search over MCP, or paste the wish link into any chat.

More Localization packages

wcwidth Worth it
PyPI · Libraries · released Jun 2026

Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.

Install it if your application formats text for terminals and handles non-ASCII characters.

MITpure Python · 3.8+
306.5Mdownloads / mo
pycountry Worth it
PyPI · Internationalization · released Feb 2026

Provides programmatic access to ISO standard databases for countries, subdivisions, languages, currencies, and scripts through a Python API.

LGPL-2.1-onlypure Python · 3.10+
40.2Mdownloads / mo
num2words Worth it
PyPI · Python Modules · released Dec 2024

Converts numbers to their word representations in multiple languages, supporting cardinal numbers, ordinals, years, and currency formats.

Install it if you need multilingual number-to-words conversion.

copyleftpure Pythonaging
9.5Mdownloads / mo
polib Worth it
PyPI · Python Modules · released Feb 2023

polib reads, writes, and manipulates gettext translation files (PO, POT, and MO formats), allowing you to load, iterate, modify entries, and create translation catalogs programmatically.

Install it if you need to work with gettext files programmatically.

MITpure Pythondormant
7.0Mdownloads / mo
timezonefinder With conditions
PyPI · Localization · released Jul 2026

Looks up the timezone for any WGS84 coordinate (latitude/longitude) offline using preprocessed polygon data and H3-based spatial indexing.

license unclearcompiled wheel
6.4Mdownloads / mo
pyunormalize With conditions
PyPI · Python Modules · released Sep 2025

Provides Unicode normalization (NFC, NFD, NFKC, NFKD) using Unicode Standard version 17.0 data, independent of the host Python environment's built-in Unicode version.

Install it if your application requires consistent normalization across different systems or if you need to target a specific Unicode Standard version.

permissive licensepure Python · 3.8+aging
4.1Mdownloads / mo

See also tzfpy · pytzdata · global-land-mask · walkscore-api · airportsdata · pyzipcode · pygeohash · reverse_geocoder · tzlocal