Skip to main content

A restcountries API wrapper for Flask Applications.

Project description

Codacy Badge Coverage Status Top language Code size GitHub PyPI PyPI - Python Version PyPI - Implementation PyPI - Status

Flask-RestCountries

Flask-RestCountries provides a simple intergration for restcountries.com API with Flask Applications.

Installation

Use the package manager pip to install flask-restcountries.

pip install Flask-RestCountries

Usage

from flask import Flask
from flask_restcountries import CountriesAPI

app = Flask(__name__)


rapi = CountriesAPI(app)

if you are using blueprints

from flask_restcountries import CountriesAPI
rapi = CountriesAPI()

rapi.init_app(app)

Usage in App

@app.route('/get-all')
def get_all_countries():
    """all_countries is a list of Country Objects"""
    all_countries = rapi.get_all()
    return render_template("example.html", all_countries=all_countries)

Other Useful Methods

Get Countries By Calling Code string of a country. E.g. '254'.

countries=rapi.get_countries_by_calling_code("+254")

Get a Country By Alpha code string of a country. E.g. 'ke'.

countries=rapi.get_country_by_country_code("ke")

Get Countries By Capital string of a country. E.g. 'Nairobi'

countries=rapi.get_countries_by_capital("Nairobi")

Get Countries By Currency string of a country. E.g. 'KES'.

countries=rapi.get_countries_by_currency("KES")

Get Countries By Language string of a country. E.g. 'sw'.

countries=rapi.get_countries_by_language("sw")

Get Countries By Name string of a country. E.g. 'Kenya'.

countries=rapi.get_countries_by_name("Kenya")

Get Countries By Region string of a country. E.g. 'Africa'.

countries=rapi.get_countries_by_region("Africa")

Get Countries By Subregion string of a country. E.g. 'Eastern Africa'

countries=rapi.get_countries_by_subregion("Eastern Africa")

Response Filtering

To make the response return only afew selected fields, you can filter the response by passing a list of field to be returned in the filters keyword as a kwarg to the methods above. ie:-

countries=rapi.get_countries_by_calling_code("+254",filters=["name","currencies","capital"])

Attributes that can be passed to the filters keyword

- topLevelDomain
- alpha2Code
- alpha3Code
- currencies
- capital
- callingCodes
- altSpellings
- relevance
- region
- subregion
- translations
- population
- latlng
- demonym
- area
- gini
- timezones
- borders
- nativeName
- name
- numericCode
- languages
- flag
- regionalBlocs
- cioc

Attributes of the Country object returned per each request

- top_level_domain
- alpha2_code
- alpha3_code
- currencies
- capital
- calling_codes
- alt_spellings
- relevance
- region
- subregion
- translations
- population
- latlng
- demonym
- area
- gini
- timezones
- borders
- native_name
- name
- numeric_code
- languages
- flag
- regional_blocs
- cioc

Contributing

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

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

Flask-RestCountries-1.2.0.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

Flask_RestCountries-1.2.0-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

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