A fast, powerful, and flexible way to get up to date COVID-19 data for any major city, state, country, and total world wide data, with just one line of code
Project description
COVID19-Data
Overview
covid19-data is a powerful and easy to use Python client for getting COVID-19 data (see sources below for more information on how data is obtained)
- Uses a fast method of getting data
- Does not rely on scraping sites, parsing files, or getting (old) data from a repository, so you do not depend on the repository being updated to get up to date data
- Very fast and responsive
- The client only gets the data once, and parses it into a search friendly format in the backend, so once the data is loaded ( ~ 1 second ), data for the World or any Country/State can be retrieved instantly
- User friendly and simple to implement into your application
- Very flexible and will return the data in multiple forms (read documentation section for more info)
- Can return data as a "Class Style Object" with attributes (only requires one line of code, and is super easy to read!)
- Can return an object with the data as attributes
- Can return a JSON document
- Super simplistic and lightweight and does not rely on any external python packages
Installing
covid19-data can be installed with pip:
$ pip install covid19-data
Alternatively, you can grab the latest source code from GitHub:
$ git clone git://github.com/binarynightowl/covid19_python
$ python setup.py install
Documentation
Usage
There are multiple ways of getting data with covid19-data
-
Object and attribute style retrieval
- Gets the data by calling the class of the desired information source (as of now only John Hopkins is supported but in
a future release multiple sources will be officially supported), and the statistics for any entity are retrieved using
JavaScript style attributes
from covid19_data import JHU # Format: [Organization providing data].[Entity to get data for].[Data that you wish to retrieve] # for example to get data from John Hopkins University, follow the following examples print("The current number of COVID-19 recoveries in the US according to John Hopkins is: " + str(JHU.US.recovered)) print("The current number of confirmed COVID-19 cases in Texas according to John Hopkins is: " + str(JHU.Texas.confirmed)) print("The current number of COVID-19 deaths in California according to John Hopkins is: " + str(JHU.California.deaths)) print("The current number of worldwide COVID-19 deaths according to John Hopkins is: " + str(JHU.Total.deaths)) print("The current number of COVID-19 deaths in China according to John Hopkins is: " + str(JHU.China.deaths)) print("The current number of COVID-19 deaths in China according to John Hopkins is: " + str(JHU.UnitedKingdom.deaths))
This should print something similar to:The current number of COVID-19 recoveries in the US according to John Hopkins is: 685164 The current number of confirmed COVID-19 cases in Texas according to John Hopkins is: 150851 The current number of COVID-19 deaths in California according to John Hopkins is: 5935 The current number of worldwide COVID-19 deaths according to John Hopkins is: 502947 The current number of COVID-19 deaths in China according to John Hopkins is: 4641 The current number of COVID-19 recoveries in the United Kingdom according to John Hopkins is: 1364
- Gets the data by calling the class of the desired information source (as of now only John Hopkins is supported but in
a future release multiple sources will be officially supported), and the statistics for any entity are retrieved using
JavaScript style attributes
-
As an object with attributes of COVID data
- Get the data by name (note: spacing and capitalization do not matter, EX:
total = covid19_data.dataByName("New York")
,total = covid19_data.dataByName("newyork")
, andtotal = covid19_data.dataByName("NEW YORK")
are all interchangable)import covid19_data # example of how to get data by name # .dataByName([string of item to find: any state, country, or total amount (spacing and capitalization do not matter)]) # object has three useful attributes: .deaths, .cases (.confirmed also works), and .recovered total = covid19_data.dataByName("Total") # create an object for our total data china = covid19_data.dataByName("China") US = covid19_data.dataByName("US") new_york = covid19_data.dataByName("NewYork") print(total.deaths, china.recovered, US.cases)
This should print something similar to:22184 74181 69246
- Get the data by abbreviation (note: spacing and capitalization do not matter, EX:
total = covid19_data.dataByName("New York")
,total = covid19_data.dataByName("newyork")
, andtotal = covid19_data.dataByName("NEW YORK")
are all interchangable)import covid19_data # example of how to get data by abbreviated name # .dataByNameShort([two letter string of item you want to find, can be any state]) # object has three useful attributes: .deaths, .cases (.confirmed also works), and .recovered texas = covid19_data.dataByNameShort("TX") # create an object for our total data california = covid19_data.dataByNameShort("CA") new_york = covid19_data.dataByNameShort("NY") print(texas.cases, california.deaths, new_york.cases)
This should print something similar to:1353 67 33033
- Get the data by name (note: spacing and capitalization do not matter, EX:
-
As a JSON document
- Get the json by name (note: spacing and capitalization do not matter, EX:
total = covid19_data.dataByName("New York")
,total = covid19_data.dataByName("newyork")
, andtotal = covid19_data.dataByName("NEW YORK")
are all interchangable)import covid19_data # example of how to get json by name # .jsonByName([string of item you want to find, can be any state, country, or total amount (spacing and capitalization do not matter)]) # object has three useful attributes: .deaths, .cases (.confirmed also works), and .recovered total = covid19_data.jsonByName("Total") # create an object for our total data china = covid19_data.jsonByName("China") US = covid19_data.jsonByName("US") new_york = covid19_data.jsonByName("NewYork") print(total, china, US, new_york)
This should print something similar to:{'Confirmed': 492603, 'Deaths': 22184, 'Recovered': 119918} {'Confirmed': 81782, 'Deaths': 3291, 'Recovered': 74181, 'Active': 4310} {'Confirmed': 69246, 'Deaths': 1046, 'Recovered': 619, 'Active': 0} {'Confirmed': 33033, 'Deaths': 366, 'Recovered': 0, 'Active': 0}
- Get the json by abbreviation (note: spacing and capitalization do not matter, EX:
total = covid19_data.dataByName("New York")
,total = covid19_data.dataByName("newyork")
, andtotal = covid19_data.dataByName("NEW YORK")
are all interchangable)import covid19_data # example of how to get json by abbreviated name # .jsonByNameShort([two letter string of item you want to find, can be any state]) # object has three useful attributes: .deaths, .cases (.confirmed also works), and .recovered texas = covid19_data.jsonByNameShort("TX") # create an object for our total data california = covid19_data.jsonByNameShort("CA") new_york = covid19_data.jsonByNameShort("NY") print(texas, california, new_york)
This should print something similar to:{'Confirmed': 1353, 'Deaths': 17, 'Recovered': 0, 'Active': 0} {'Confirmed': 3172, 'Deaths': 67, 'Recovered': 0, 'Active': 0} {'Confirmed': 33033, 'Deaths': 366, 'Recovered': 0, 'Active': 0}
- Get the json by name (note: spacing and capitalization do not matter, EX:
Sources
This package utilizes John Hopkins University's ArcGIS data layer to get its data. Please follow their terms of service and licensing when using their data in your application. The data layer pulls data from the following sources:
- World Health Organization (WHO)
- DXY.cn. Pneumonia. 2020.
- BNO News
- National Health Commission of the People’s Republic of China (NHC)
- China CDC (CCDC)
- Hong Kong Department of Health
- Macau Government
- Taiwan CDC
- US CDC
- Government of Canada
- Australia Government Department of Health
- European Centre for Disease Prevention and Control (ECDC)
- Ministry of Health Singapore (MOH)
- Italy Ministry of Health
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for covid19_data-1.1.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3434519b7a4ecd2af62e23eab783d288ad07a8b3117d5bc81a244b7023818d |
|
MD5 | 9d343b87c991c998d135cb2fd3fcbdd7 |
|
BLAKE2b-256 | 7d8de02f302e8d260dae5612a5d56015eccab9ab4b7eb42e874697184e5977fc |