Awesome
COVID19Py
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END -->A tiny Python package for easy access to up-to-date Coronavirus (COVID-19, SARS-CoV-2) cases data.
<!-- Python API Wrapper for tracking Coronavirus (COVID-19, SARS-CoV-2) via https://github.com/ExpDev07/coronavirus-tracker-api -->About
COVID19Py is a Python wrapper made to be compatible with ExpDev07/coronavirus-tracker-api REST API. It retrieves data directly from an instance of @ExpDev07's backend but it can also be set up to use a different backend.
To achieve this, just pass the URL of the backend as a parameter to the library's constructor:
import COVID19Py
covid19 = COVID19Py.COVID19("https://my-awesome-covid19-backend")
Installation
In order install this package, simply run:
pip install COVID19Py
Usage
To use COVID19Py, you first need to import the package and then create a new instance:
import COVID19Py
covid19 = COVID19Py.COVID19()
Choosing a data source
COVID19Py supports the retrieval of data from multiple data sources. To choose a specific data source, simply pass it as a parameter to the library's constructor:
covid19 = COVID19Py.COVID19(data_source="csbs")
For more details about the available data sources, please check the API's documentation.
Getting latest amount of total confirmed cases, deaths, and recoveries:
latest = covid19.getLatest()
Getting all locations:
locations = covid19.getLocations()
or:
locations = covid19.getLocations(timelines=True)
to also get timelines.
You can also rank the results by confirmed
, deaths
or recovered
.
locations = covid19.getLocations(rank_by='recovered')
Getting location by country code:
location = covid19.getLocationByCountryCode("US")
or:
location = covid19.getLocationByCountryCode("US", timelines=True)
to also get timelines.
Getting a specific location (includes timelines by default):
location = covid19.getLocationById(39)
Getting location by country name:
location = covid19.getLocationByCountry("Zimbabwe")
or:
location = covid19.getLocationByCountry("Zimbabwe", timelines=True)
Getting all data at once:
You can also get all the available data with one command.
data = covid19.getAll()
or:
data = covid19.getAll(timelines=True)
to also get timelines.
latest
will be available on data["latest"]
and locations
will be available on data["locations"]
.
Getting latest
deltas:
When using getAll()
, COVID19Py will also store the previous version of the retrieved data. This allows us to easily see how data changed since the last time we requested them.
changes = covid19.getLatestChanges()
{
"confirmed": 512,
"deaths": 16,
"recovered": 1024
}
Contributing
You will need to fork this repository onto your own GitHub account, then clone the repo to your local machine.
In the project directory, you will need to make sure the required packages are installed. To install requirements from the Pipfile, run a command like the following, which may depend on how you have package management set up:
pipenv install
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tr> <td align="center"><a href="https://kamaropoulos.com"><img src="https://avatars0.githubusercontent.com/u/10237776?v=4" width="100px;" alt=""/><br /><sub><b>Konstantinos Kamaropoulos</b></sub></a><br /><a href="https://github.com/Kamaropoulos/COVID19Py/commits?author=Kamaropoulos" title="Code">💻</a> <a href="https://github.com/Kamaropoulos/COVID19Py/commits?author=Kamaropoulos" title="Documentation">📖</a> <a href="#example-Kamaropoulos" title="Examples">💡</a></td> <td align="center"><a href="http://www.jaroddeweese.com"><img src="https://avatars1.githubusercontent.com/u/32393906?v=4" width="100px;" alt=""/><br /><sub><b>Jarod DeWeese</b></sub></a><br /><a href="https://github.com/Kamaropoulos/COVID19Py/commits?author=jdeweese1" title="Code">💻</a> <a href="https://github.com/Kamaropoulos/COVID19Py/commits?author=jdeweese1" title="Documentation">📖</a></td> </tr> </table> <!-- markdownlint-enable --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->This project follows the all-contributors specification. Contributions of any kind welcome!