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.0.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.0-py3-none-any.whl (32.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geonamescache-3.0.0.tar.gz
  • Upload date:
  • Size: 30.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for geonamescache-3.0.0.tar.gz
Algorithm Hash digest
SHA256 6eca4a4ceca134a6827dc36b9a0415428081129ec1d731ea496f63f9e9e450ba
MD5 6a195adff856bbf16fecc7dbc6803535
BLAKE2b-256 2516250e1be82f1a10581361ddc0d379a37c5660f1818fed780ac42ef6706540

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for geonamescache-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6bed16ccd0bcfe6a822541ef8fb3192fe40e14905c2cdef1f51a13232585329
MD5 cb1ba2cdf39e0df105d600a2ef0e7909
BLAKE2b-256 5a496a6e14f4e99a29991f3446c4204c4fb28906bc07fc480ec11b0cad03ca43

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