Skip to main content

Geonames data for continents, cities and US states.

Project description

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.

Project details


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.1.tar.gz (30.7 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.1-py3-none-any.whl (32.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geonamescache-3.0.1.tar.gz
  • Upload date:
  • Size: 30.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for geonamescache-3.0.1.tar.gz
Algorithm Hash digest
SHA256 b13fa9ef846304961e623e08938177a72bfb6e02f681060cd3078dd89bf3e962
MD5 8fb7b5507c33905422578427f46c4412
BLAKE2b-256 3b7dd523711001643b85e2185f70de9fb5cb8f82631459ebece08327f039032c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geonamescache-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 32.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for geonamescache-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 959d9d850d822f3c16eb7272d476415e42074aa33f1ea85bc2b7cb43b6751c84
MD5 25b40309953641ec789b42d4326dc43a
BLAKE2b-256 308c525a746d0e861873d871044ba67c9f0cd922f5dc7897f4bac4463d31485f

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