Skip to main content

Python package that replicates the ISO-3166, ISO-3166-2 and ISO-4217 (Currencies) standards.

Project description

ci codecov

PyCountryCodes

PyCountryCodes is a Python library for dealing with the ISO 3166-1 and ISO 3166-2 Standards in a simple way.

Installation

Use the package manager pip to install pycountrycodes.

pip install pycountrycodes

Usage

ISO 3166-1

from pycountrycodes import countries

# Go through the full list of countries available.
for country in countries:
    # prints the country name
    print(country.name)

# returns a Country object if the given criteria matches.
countries.get(name='United Kingdom')
countries.get(alpha_2='GB')
countries.get(alpha_3='GBR')

# returns a list of Country options fot the given query using fuzzy search.
countries.search('United Kingdom')

# returns a list of Country options fot the given query using fuzzy search 
# using the match_score_cutoff to filter the list and only return results with
# match_score greater or equal to 70.
countries.search('United Kingdom', match_score_cutoff=70)

ISO 3166-2

from pycountrycodes import subdivisions

# Go through the full list of subdivisions available.
for subdivisions in subdivisions:
    # prints the subdivision name
    print(subdivisions.name)

# returns a Subdivision object if the given criteria matches.
subdivisions.get(code='US-NY')

# returns a list of Subdivision objects if the given criteria matches.
# for name, type and country_code, this method will return a list of options since
# there can be multiples Subdivision objects with the same attribute values.
subdivisions.get(name='New York')  # returns all Subdivision where obj.name is 'New York'
subdivisions.get(type='Province')  # returns all Subdivision where obj.type is 'Province'
subdivisions.get(country_code='GB')  # returns all Subdivision where obj.country_code is 'GB'

# returns a list of Subdivisions options fot the given query using fuzzy search.
subdivisions.search('New York')

# returns a list of Subdivision options fot the given query using fuzzy search 
# using the match_score_cutoff to filter the list and only return results with
# match_score greater or equal to 70.
subdivisions.search('New York', match_score_cutoff=70)

ISO 4127

from pycountrycodes import currencies

# Go through the full list of currencies available.
for currency in currencies:
    # prints the currency name
    print(currency.name)

# returns a Currency object if the given criteria matches.
currencies.get(alpha_3='USD')

# returns a list of Currencies objects if the given criteria matches.
# for name this method will return a list of options since
# there can be multiples Currency objects with the same attribute values.
currencies.get(name='Leone')  # returns all Currency where obj.name is 'Leone'

# returns a list of Currencies options fot the given query using fuzzy search.
currencies.search('Dollar')

# returns a list of Currency options fot the given query using fuzzy search 
# using the match_score_cutoff to filter the list and only return results with
# match_score greater or equal to 70.
currencies.search('Dollar', match_score_cutoff=70)

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

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

pycountrycodes-0.3.1.tar.gz (76.6 kB view details)

Uploaded Source

Built Distribution

pycountrycodes-0.3.1-py3-none-any.whl (81.7 kB view details)

Uploaded Python 3

File details

Details for the file pycountrycodes-0.3.1.tar.gz.

File metadata

  • Download URL: pycountrycodes-0.3.1.tar.gz
  • Upload date:
  • Size: 76.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.12 Linux/5.18.10-76051810-generic

File hashes

Hashes for pycountrycodes-0.3.1.tar.gz
Algorithm Hash digest
SHA256 4f2fd6406049580d33291fbfe6f133862b3bbc2ba808aee71a861eb6866d48fa
MD5 40911f2b42f9d8785d5a62b0821dbce5
BLAKE2b-256 500e6e00b09827b4a9324a0abdcbd0d4d115d9e6da390f552198ce95e754cfd2

See more details on using hashes here.

File details

Details for the file pycountrycodes-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: pycountrycodes-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 81.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.12 Linux/5.18.10-76051810-generic

File hashes

Hashes for pycountrycodes-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e2787d14376e66293453273e4287efdc2984394077177db822d26b9da5a5c8b
MD5 c4431983b4134c2e7d0905cd5b629a98
BLAKE2b-256 9038678fb68c140fcb79c7b36d41344736b36c4568d2c0e03877ef61104b3efa

See more details on using hashes here.

Supported by

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