pycountry

ISO country, subdivision, language, currency and script definitions and their translations
Download

pycountry Ranking & Summary

Advertisement

  • Rating:
  • License:
  • LGPL
  • Price:
  • FREE
  • Publisher Name:
  • Christian Theune
  • Publisher web site:
  • http://gocept.com

pycountry Tags


pycountry Description

ISO country, subdivision, language, currency and script definitions and their translations pycountry is a Python library that provides the ISO databases for the standards:639 Languages3166 Countries3166-2 Subdivisions of countries4217 Currencies15924 ScriptsThe package includes a copy from Debian's pkg-isocodes and makes the data accessible through a Python API.Translation files for the various strings are included as well.Countries (ISO 3166)Countries are accessible through a database object that is already configured upon import of pycountry and works as an iterable: >>> import pycountry >>> len(pycountry.countries) 246 >>> list(pycountry.countries) < pycountry.db.Country object at 0x... >Specific countries can be looked up by their various codes and provide the information included in the standard as attributes: >>> germany = pycountry.countries.get(alpha2='DE') >>> germany < pycountry.db.Country object at 0x... > >>> germany.alpha2 'DE' >>> germany.alpha3 'DEU' >>> germany.numeric '276' >>> germany.name 'Germany' >>> germany.official_name 'Federal Republic of Germany'Note that historic countries, defined by the ISO 3166-3 sub-standard are not included in this list.Country subdivisions (ISO 3166-2)The country subdivisions are a little more complex than the countries itself because they provide a nested and typed structure.All subdivions can be accessed directly: >>> len(pycountry.subdivisions) 4548 >>> list(pycountry.subdivisions) < pycountry.db.Subdivision object at 0x... >Subdivisions can be accessed using their unique code and provide at least their code, name and type: >>> de_st= pycountry.subdivisions.get(code='DE-ST') >>> de_st.code 'DE-ST' >>> de_st.name 'Sachsen-Anhalt' >>> de_st.type 'State' >>> de_st.country < pycountry.db.Country object at 0x... >Some subdivisions specify another subdivision as a parent: >>> al_br = pycountry.subdivisions.get(code='AL-BU') >>> al_br.code 'AL-BU' >>> al_br.name u'Bulqizxeb' >>> al_br.type 'District' >>> al_br.parent_code 'AL 9' >>> al_br.parent < pycountry.db.Subdivision object at 0x... > >>> al_br.parent.name u'Dibxebr'The divisions of a single country can be queried using the country_code index: >>> len(pycountry.subdivisions.get(country_code='DE')) 16 >>> len(pycountry.subdivisions.get(country_code='US')) 57Scripts (ISO 15924)Scripts are available from a database similar to the countries: >>> len(pycountry.scripts) 131 >>> list(pycountry.scripts) < pycountry.db.Script object at 0x... > >>> latin = pycountry.scripts.get(name='Latin') >>> latin < pycountry.db.Script object at 0x... > >>> latin.alpha4 'Latn' >>> latin.name 'Latin' >>> latin.numeric '215'Currencies (ISO 4217)The currencies database is, again, similar to the ones before: >>> len(pycountry.currencies) 183 >>> list(pycountry.currencies) < pycountry.db.Currency object at 0x... > >>> argentine_peso = pycountry.currencies.get(letter='ARS') >>> argentine_peso < pycountry.db.Currency object at 0x... > >>> argentine_peso.letter 'ARS' >>> argentine_peso.name 'Argentine Peso' >>> argentine_peso.numeric '032'Languages (ISO 639)The languages database is similar too: >>> len(pycountry.languages) 486 >>> list(pycountry.languages) < pycountry.db.Language object at 0x... > >>> aragonese = pycountry.languages.get(alpha2='an') >>> aragonese.alpha2 'an' >>> aragonese.bibliographic 'arg' >>> aragonese.terminology 'arg' >>> aragonese.name 'Aragonese'LocalesLocales are available in the pycountry.LOCALES_DIR subdirectory of this package. The translation domains are called isoXXX according to the standard they provide translations for. The directory is structured in a way compatible to Python's gettext module.Here is an example translating language names: >>> import gettext >>> german = gettext.translation('iso3166', pycountry.LOCALES_DIR, ... languages=) >>> german.install() >>> _('Germany') 'Deutschland' Requirements: · Python What's New in This Release: · Updated Debian repository to r1752.


pycountry Related Software