Skip to main content

Swiss zipcodes database

This library provides an easy way to look up a swiss zipcode and get its canton or municipality. Use it like this:

>>> from zipch import ZipcodesDatabase
>>> zd = ZipcodesDatabase('/tmp/zipcodes')
>>> zd.get_location(1003)
Location(official_name='Lausanne', canton='VD', municipality='Lausanne', coordinates=Lv95Coordinates(E=Decimal('2537956.3654948957'), N=Decimal('1152398.7080000006')))

Installation

Zipch has been tested on Python 3.7+. The easiest way to install it is by using PyPI:

pip install zipch

Usage

Start by creating a ZipcodesDatabase object. In the example below, /tmp/zipcodes is a file that will be used as the zipcodes database. If the file doesn't exist yet, it will be created by downloading the latest version of the zipcodes database.

>>> from zipch import ZipcodesDatabase
>>> zd = ZipcodesDatabase('/tmp/zipcodes')

You can then get all the zipcodes registered in the database as a {zipcode: location} dict:

>>> zd.get_locations()
{8192: Location(official_name='Zweidlen', canton='ZH', municipality='Glattfelden'), 8193: Location(official_name='Eglisa', canton='ZH', municipality='Eglisa'), ...}

The library packs with some utility functions, these are all things that can be derived from get_locations() but that are here for convenience:

>>> zd.get_location(1003)
Location(official_name='Lausanne', canton='VD', municipality='Lausanne', coordinates=Lv95Coordinates(E=Decimal('2537956.3654948957'), N=Decimal('1152398.7080000006')))
>>> zd.get_zipcodes_for_municipality('Lausanne')
[1000, 1003, 1004, 1005, 1007, 1010, 1011, 1018, 1012]
>>> zd.get_zipcodes_for_canton('VD')
[1412, 1428, 1430, 1441, 1450, 1114, 1000, 1003, ...]
>>> zd.get_cantons()
['AG', 'AI', 'AR', 'BE', 'BL', 'BS', ...]
>>> zd.get_municipalities()
['Aadorf', 'Aara', 'Aarberg', 'Aarburg', 'Aarwangen', ...]

Geolocation

Location objects also have a coordinates attribute, which contains the coordinates in LV95 format. You can use the lv95_to_wgs84 function to convert these coordinates to regular WGS84 longitude & latitude coordinates:

>>> from zipch import ZipcodesDatabase, lv95_to_wgs84
>>> lv95_to_wgs84(ZipcodesDatabase("/tmp/zipcodes").get_location(1003).coordinates)

Coordinates in regular WGS84 format are available in the wgs84_coordinates attribute.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zipch-2.0.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zipch-2.0.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file zipch-2.0.1.tar.gz.

File metadata

  • Download URL: zipch-2.0.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for zipch-2.0.1.tar.gz
Algorithm Hash digest
SHA256 4fe89b79727f533a7687aa840a8717ac466fda7c6b18b7aeeeda55069229f43d
MD5 757c5d50b9fb5b220e1ad990ad4a7ec2
BLAKE2b-256 5c43e8845f355d3ae762e0cc50893d7d9dae6ac568684d85376c53418c8b2606

See more details on using hashes here.

File details

Details for the file zipch-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: zipch-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for zipch-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 650218e905ebe7ce1633f90e9dd95db2bcabe787b01bec4ff37d3a4e13881f9b
MD5 55c570f335c1b1bc9ce55ebaa5e5fa8c
BLAKE2b-256 abd1ec514e5d7b726b773fdfe6e188afd5d024a30f47691d23c1e6a7a8f2b9c0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 files

2.0.0

2 files

1.1.0

2 files

1.0.1

1 file

1.0.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page