Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

postcode-to-timezone

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcode-to-timezone

Converts postcodes to timezones

  • 2024.8.20.0
  • PyPI
  • Socket score

Maintainers
1

Postcode to Timezone

Looks up timezones based on postcode. This is based on the assumption that postcodes are roughly following the timezone lines. This is not always true, especially in disputed territories, but it is a good approximation for most cases.

The data used for this lookup is indirectly from OpenStreetMap.

Usage example

from postcode_to_timezone import get_tz

get_tz('us', '12345')

returns 'America/Chicago'

Building

To regenerate the lookup table, first obtain a dump of the location_postcode table from a Nominatim database, and compress it to location_postcode.csv.xz. Then run python3 generate_lookup_table.py to generate the lookup table.

Actual package is built with hatch build, and the package is uploaded to PyPI with hatch publish.

Data sources

Postcode locations

A dump of the location_postcode table in a Nominatim database. Nominatim creates this database from OpenStreetMap data using the following query:

SELECT
    COALESCE(plx.country_code, get_country_code(ST_Centroid(pl.geometry))) as country_code,
    pl.address->'postcode' as postcode,
    COALESCE(plx.centroid, ST_Centroid(pl.geometry)) as geometry
  FROM place AS pl
  LEFT OUTER JOIN placex AS plx
         ON pl.osm_id = plx.osm_id AND pl.osm_type = plx.osm_type
WHERE
 pl.address ? 'postcode'
 AND pl.geometry IS NOT null

A dump from that table is stored at location_postcode.csv.xz.

Postcode validation

A copy from this GitHub Gist is stored in postcode_regex.json. Actual source not known.

Timezone definitions

Timezone definitions are used from timezonefinder package on pypi. The package is licensed under the MIT license.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc