Skip to main content

GeonamesCache

image

A Python library that provides functions to retrieve names, ISO and FIPS codes of continents, countries as well as US states and counties as Python dictionaries. The country and city datasets also include population and geographic data.

Geonames data is obtained from GeoNames.

Installation

pip install geonamescache

Usage

A simple example:

import geonamescache

gc = geonamescache.GeonamesCache()
print(gc.get_countries())

Settings

Cities dataset

When creating a GeonamesCache you can set the min_city_population parameter to either of 500, 1000, 5000 or the default 15000. The smaller the minimum population the more cities are included in the cities dataset.

Methods

Currently geonamescache provides the following methods, that return dictionaries with the requested data:

  • get_continents()
  • get_countries()
  • get_us_states()
  • get_cities()
  • get_countries_by_names()
  • get_us_states_by_names()
  • get_cities_by_name(name)
  • get_us_counties()

In addition you can search for cities by name.

  • search_cities('NAME', case_sensitive=True, contains_search=True)

This function returns a list of city records that match the given NAME.

  • By default the alternatenames attribute is searched for matches.
  • By default the search is case insensitive, it can be made case sensitive by changing case_sensitive to True.
  • By default the search is contains, it can be made exact equality by changing contains_search to False.

Mappers

The mappers module provides function(s) to map data properties. Currently you can create a mapper that maps country properties, e. g. the name property to the iso3 property, to do so you'd write the following code:

from geonamescache.mappers import country
mapper = country(from_key='name', to_key='iso3')

iso3 = mapper('Spain') # iso3 is assigned ESP

Contributing

Please write test(s) for any new feature. If you wish to build the data from scratch, run make dl and make json.

Download files

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

Source Distribution

geonamescache-3.0.2.tar.gz (33.6 MB view details)

Uploaded Source

Built Distribution

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

geonamescache-3.0.2-py3-none-any.whl (35.0 MB view details)

Uploaded Python 3

File details

Details for the file geonamescache-3.0.2.tar.gz.

File metadata

  • Download URL: geonamescache-3.0.2.tar.gz
  • Upload date:
  • Size: 33.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.1 {"ci":null,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.17.1"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.8.0-136-generic"}} HTTPX2/2.3.0

File hashes

Hashes for geonamescache-3.0.2.tar.gz
Algorithm Hash digest
SHA256 1cc7007a7a14637f665c7bd7934dc5a04a973daf4d962d789651047aa1a00cb1
MD5 e1dfa6d55e6ee4b4326115e6ed5def44
BLAKE2b-256 56f71ca0ac4ca0b7a0f21f6628094a0e4fbfb836508370e8e835294ca125536f

See more details on using hashes here.

File details

Details for the file geonamescache-3.0.2-py3-none-any.whl.

File metadata

  • Download URL: geonamescache-3.0.2-py3-none-any.whl
  • Upload date:
  • Size: 35.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.1 {"ci":null,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.17.1"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.8.0-136-generic"}} HTTPX2/2.3.0

File hashes

Hashes for geonamescache-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b830e8942f2d58c7e68782dcf4dff2ffe8c4104a35ee881ed1ad4023cefcdba4
MD5 4c2748f31d7e671ae855328b264b8c57
BLAKE2b-256 48c252f1b29de8839b4b55cd2641dfd722a6a94953d74fa82514e26084a92318

See more details on using hashes here.

Supported by

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