COVID Library in Python
Published: 2020-09-29 15:31:30

Description
Python package to get information regarding the novel corona virus provided by Johns Hopkins university and worldometers.info

Full Documentation can be found here

Requirements
python >= 3.6
How to install
pip install covid
Dependencies
pydantic
requests
How to use
John Hopkins University API
john_hopkins

Get All Data
from covid import Covid

covid = Covid()
covid.get_data()
Result
[
    {
        'id': '53',
        'country': 'China',
        'confirmed': 81020,
        'active': 9960,
        'deaths': 3217,
        'recovered': 67843,
        'latitude': 30.5928,
        'longitude': 114.3055,
        'last_update': 1584097775000
    },
    {
        'id': '115',
        'country': 'Italy',
        'confirmed': 24747,
        'active': 20603,
        'deaths': 1809,
        'recovered': 2335,
        'latitude': 41.8719,
        'longitude': 12.5674,
        'last_update': 1584318130000
    },
    ...
]
List Countries
This comes in handy when you need to know the available names of countries when using get_status_by_country_name, eg. "The Republic of Moldova" or just "Moldova" So use this when you need to know the country exact name that you can use.

countries = covid.list_countries()
Result
[
    {'id': '53', 'country': 'China'},
    {'id': '115', 'country': 'Italy'}
    ...
]
Get Status By Country ID
italy_cases = covid.get_status_by_country_id(115)
Result
{
    'id': '115',
    'country': 'Italy',
    'confirmed': 24747,
    'active': 20603,
    'deaths': 1809,
    'recovered': 2335,
    'latitude': 41.8719,
    'longitude': 12.5674,
    'last_update': 1584318130000
}
Get Status By Country Name
italy_cases = covid.get_status_by_country_name("italy")
Result
{
    'id': '115',
    'country': 'Italy',
    'confirmed': 24747,
    'active': 20603,
    'deaths': 1809,
    'recovered': 2335,
    'latitude': 41.8719,
    'longitude': 12.5674,
    'last_update': 1584318130000
}
Get Total Active cases
active = covid.get_total_active_cases()
Get Total Confirmed cases
confirmed = covid.get_total_confirmed_cases()
Get Total Recovered cases
recovered = covid.get_total_recovered()
Get Total Deaths
deaths = covid.get_total_deaths()
Getting data from Worldometers.info
worldometers

covid = Covid(source="worldometers")
Get Data
covid.get_data()
Result
[
    {
        'country': 'USA',
        'confirmed': 311637,
        'new_cases': 280,
        'deaths': 8454,
        'recovered': 14828,
        'active': 288355,
        'critical': 8206,
        'new_deaths': 2,
        'total_tests': 1656897,
        'total_tests_per_million': Decimal('0'),
        'total_cases_per_million': Decimal('941'),
        'total_deaths_per_million': Decimal('26')
    },
    {
        'active': 1376,
        'confirmed': 81669,
        'country': 'China',
        'critical': 295,
        'deaths': 3329,
        'new_cases': 30,
        'new_deaths': 3,
        'recovered': 76964,
        'total_cases_per_million': Decimal('57'),
        'total_deaths_per_million': Decimal('2'),
        'total_tests': 0,
        'total_tests_per_million': Decimal('0')
    }
    ...
]
Get Status By Country Name
covid.get_status_by_country_name("italy")
Result
{
    'active': 88274,
    'confirmed': 124632,
    'country': 'Italy',
    'critical': 3994,
    'deaths': 15362,
    'new_cases': 0,
    'new_deaths': 0,
    'recovered': 20996,
    'total_cases_per_million': Decimal('2061'),
    'total_deaths_per_million': Decimal('254'),
    'total_tests': 657224,
    'total_tests_per_million': Decimal('0')
 }
List Countries
countries = covid.list_countries()
Result
[
    'china',
    'italy',
    'usa',
    'spain',
    'germany',
...
]
Get Total Active cases
active = covid.get_total_active_cases()
Get Total Confirmed cases
confirmed = covid.get_total_confirmed_cases()
Get Total Recovered cases
recovered = covid.get_total_recovered()
Get Total Deaths
deaths = covid.get_total_deaths()