🦠 A simple and fast (< 200ms) API for tracking the global coronavirus (COVID-19, SARS-CoV-2) outbreak.

Overview

Coronavirus Tracker API

Provides up-to-date data about Coronavirus outbreak. Includes numbers about confirmed cases, deaths and recovered. Support multiple data-sources.

Travis build Coverage Status License All Contributors GitHub stars GitHub forks GitHub last commit GitHub pull requests GitHub issues Total alerts Code style: black Tweet

Live global stats (provided by fight-covid19/bagdes) from this API:

Covid-19 Confirmed Covid-19 Recovered Covid-19 Deaths

New York Times is now available as a source!

Specify source parameter with ?source=nyt. NYT also provides a timeseries! To view timelines of cases by US counties use ?source=nyt&timelines=true

Recovered cases showing 0

JHU (our main data provider) no longer provides data for amount of recoveries, and as a result, the API will be showing 0 for this statistic. Apologies for any inconvenience. Hopefully we'll be able to find an alternative data-source that offers this.

Available data-sources:

Currently 3 different data-sources are available to retrieve the data:

jhu data-source will be used as a default source if you don't specify a source parameter in your request.

API Reference

All endpoints are located at coronavirus-tracker-api.herokuapp.com/v2/ and are accessible via https. For instance: you can get data per location by using this URL: https://coronavirus-tracker-api.herokuapp.com/v2/locations

You can open the URL in your browser to further inspect the response. Or you can make this curl call in your terminal to see the prettified response:

curl https://coronavirus-tracker-api.herokuapp.com/v2/locations | json_pp

Swagger/OpenAPI

Consume our API through our super awesome and interactive SwaggerUI (on mobile, use the mobile friendly ReDocs instead for the best experience).

The OpenAPI json definition can be downloaded at https://coronavirus-tracker-api.herokuapp.com/openapi.json

API Endpoints

Sources Endpoint

Getting the data-sources that are currently available to Coronavirus Tracker API to retrieve the data of the pandemic.

GET /v2/sources

Sample response

{
    "sources": [
        "jhu",
        "csbs",
        "nyt"
    ]
}

Latest Endpoint

Getting latest amount of total confirmed cases, deaths, and recovered.

GET /v2/latest

Query String Parameters

Query string parameter Description Type
source The data-source where data will be retrieved from (jhu/csbs/nyt). Default is jhu String

Sample response

{
  "latest": {
    "confirmed": 197146,
    "deaths": 7905,
    "recovered": 80840
  }
}

Locations Endpoint

Getting latest amount of confirmed cases, deaths, and recovered per location.

The Location Object

GET /v2/locations/:id

Path Parameters

Path parameter Required/Optional Description Type
id OPTIONAL The unique location id for which you want to call the Locations Endpoint. The list of valid location IDs (:id) can be found in the locations response: /v2/locations Integer

Query String Parameters

Query string parameter Description Type
source The data-source where data will be retrieved from (jhu/csbs/nyt). Default is jhu String

Example Request

GET /v2/locations/39

Sample response

{
  "location": {
    "id": 39,
    "country": "Norway",
    "country_code": "NO",
    "country_population": 5009150,
    "province": "",
    "county": "",
    "last_updated": "2020-03-21T06:59:11.315422Z",
    "coordinates": { },
    "latest": { },
    "timelines": {
      "confirmed": {
        "latest": 1463,
        "timeline": {
          "2020-03-16T00:00:00Z": 1333,
          "2020-03-17T00:00:00Z": 1463
        }
      },
      "deaths": { },
      "recovered": { }
    }
  }
}

List of all locations

GET /v2/locations

Query String Parameters

Query string parameter Description Type
source The data-source where data will be retrieved from.
Value can be: jhu/csbs/nyt. Default is jhu
String
country_code The ISO (alpha-2 country_code) to the Country/Province for which you're calling the Endpoint String
timelines To set the visibility of timelines (daily tracking).
Value can be: 0/1. Default is 0 (timelines are not visible)
Integer

Sample response

{
  "latest": {
    "confirmed": 272166,
    "deaths": 11299,
    "recovered": 87256
  },
  "locations": [
    {
      "id": 0,
      "country": "Thailand",
      "country_code": "TH",
      "country_population": 67089500,
      "province": "",
      "county": "",
      "last_updated": "2020-03-21T06:59:11.315422Z",
      "coordinates": {
        "latitude": "15",
        "longitude": "101"
      },
      "latest": {
        "confirmed": 177,
        "deaths": 1,
        "recovered": 41
      }
    },
    {
      "id": 39,
      "country": "Norway",
      "country_code": "NO",
      "province": "",
      "county": "",
      "last_updated": "2020-03-21T06:59:11.315422Z",
      "coordinates": {
        "latitude": "60.472",
        "longitude": "8.4689"
      },
      "latest": {
        "confirmed": 1463,
        "deaths": 3,
        "recovered": 1
      }
    }
  ]
}

Response definitions

Response Item Description Type
{latest} The total amount of confirmed cases, deaths and recovered for all the locations Object
{latest}/confirmed The up-to-date total number of confirmed cases for all the locations within the data-source Integer
{latest}/deaths The up-to-date total amount of deaths for all the locations within the data-source Integer
{latest}/recovered The up-to-date total amount of recovered for all the locations within the data-source Integer
{locations} The collection of locations contained within the data-source Object
{location} Information that identifies a location Object
{latest} The amount of confirmed cases, deaths and recovered related to the specific location Object
{locations}/{location}/{latest}/confirmed The up-to-date number of confirmed cases related to the specific location Integer
{locations}/{location}/{latest}/deaths The up-to-date number of deaths related to the specific location Integer
{locations}/{location}/{latest}/recovered The up-to-date number of recovered related to the specific location Integer
{locations}/{location}/id The location id. This unique id is assigned to the location by the data-source. Integer
{locations}/{location}/country The Country name String
{locations}/{location}/country_code The ISO alpha-2 country_code Country code for the location. String
{locations}/{location}/province The province where the location belongs to. (Used for US locations coming from csbs data-source.
Empty when jhu data-source is used
String
{locations}/{location}/{coordinates}/latitude The location latitude Float
{locations}/{location}/{coordinates}/longitude The location longitude Float

Example Requests with parameters

Parameter: country_code

Getting data for the Country specified by the country_code parameter, in this case Italy - IT

GET /v2/locations?country_code=IT

Sample Response

{
  "latest": {
    "confirmed": 59138,
    "deaths": 5476,
    "recovered": 7024
  },
  "locations": [
    {
      "id": 16,
      "country": "Italy",
      "country_code": "IT",
      "country_population": 60340328,
      "province": "",
      "county": "",
      "last_updated": "2020-03-23T13:32:23.913872Z",
      "coordinates": {
          "latitude": "43",
          "longitude": "12"
      },
      "latest": {
          "confirmed": 59138,
          "deaths": 5476,
          "recovered": 7024
      }
    }
  ]
}

Parameter: source

Getting the data from the data-source specified by the source parameter, in this case csbs

GET /v2/locations?source=csbs

Sample Response

{
  "latest": {
    "confirmed": 7596,
    "deaths": 43,
    "recovered": 0
  },
  "locations": [
    {
      "id": 0,
      "country": "US",
      "country_code": "US",
      "country_population": 310232863,
      "province": "New York",
      "state": "New York",
      "county": "New York",
      "last_updated": "2020-03-21T14:00:00Z",
      "coordinates": {
        "latitude": 40.71455,
        "longitude": -74.00714
      },
      "latest": {
        "confirmed": 6211,
        "deaths": 43,
        "recovered": 0
      }
    },
    {
      "id": 1,
      "country": "US",
      "country_code": "US",
      "country_population": 310232863,
      "province": "New York",
      "state": "New York",
      "county": "Westchester",
      "last_updated": "2020-03-21T14:00:00Z",
      "coordinates": {
        "latitude": 41.16319759,
        "longitude": -73.7560629
      },
      "latest": {
        "confirmed": 1385,
        "deaths": 0,
        "recovered": 0
      },
    }
  ]
}

Parameter: timelines

Getting the data for all the locations including the daily tracking of confirmed cases, deaths and recovered per location.

GET /v2/locations?timelines=1

Explore the response by opening the URL in your browser https://coronavirus-tracker-api.herokuapp.com/v2/locations?timelines=1 or make the following curl call in your terminal:

curl https://coronavirus-tracker-api.herokuapp.com/v2/locations?timelines=1 | json_pp

NOTE: Timelines tracking starts from day 22nd January 2020 and ends to the last available day in the data-source.

Wrappers

These are the available API wrappers created by the community. They are not necessarily maintained by any of this project's authors or contributors.

PHP

Golang

C#

Python

Java

Node.js

Ruby

Lua

Prerequisites

You will need the following things properly installed on your computer.

Installation

  • git clone https://github.com/ExpDev07/coronavirus-tracker-api.git
  • cd coronavirus-tracker-api
  1. Make sure you have python3.8 installed and on your PATH.
  2. Install the pipenv dependency manager
  3. Create virtual environment and install all dependencies $ pipenv sync --dev
  4. Activate/enter the virtual environment $ pipenv shell

And don't despair if don't get the python setup working on the first try. No one did. Guido got pretty close... once. But that's another story. Good luck.

Running / Development

For a live reloading on code changes.

  • pipenv run dev

Without live reloading.

  • pipenv run start

Visit your app at http://localhost:8000.

Alternatively run our API with Docker.

Running Tests

pytest

pipenv run test

Linting

pylint

pipenv run lint

Formatting

black

pipenv run fmt

Update requirements files

invoke generate-reqs

Pipfile.lock will be automatically updated during pipenv install.

Docker

Our Docker image is based on tiangolo/uvicorn-gunicorn-fastapi/.

invoke docker --build

Run with docker run or docker-compose

Alternate Docker images

If a full gunicorn deployment is unnecessary or impractical on your hardware consider using our single instance Uvicorn based Dockerfile.

Invoke

Additional developer commands can be run by calling them with the python invoke task runner.

invoke --list

Deploying

Contributors

Thanks goes to these wonderful people (emoji key):


ExpDev

💻 📖 🚧

bjarkimg

💬

Bost

📖

GRIBOK

💻 ⚠️

Oliver Thamm

📖

Mauro M.

📖

JKSenthil

💻 📖 ⚠️

SeanCena

💻 📖 ⚠️

Abdirahiim Yassin

📖 🔧 📦

Darío Hereñú

📖

Oliver

📖

carmelag

📖

Gabriel

💻 🚇 ⚠️ 📖

Kodjo Laurent Egbakou

📖 🔧 📦

Turreted

💻

Ibtida Bhuiyan

💻 📖

James Gray

💻

Nischal Shankar

💻 📖

License

See LICENSE.md for the license. Please link to this repo somewhere in your project :).

Comments
  • API is down

    API is down

    So I was doing some unit tests for my project when I saw that they failed and I checked out the API to see if everything is working but it seems that it's down

    bug performance down 
    opened by Abdirahiim 27
  • JHU recovery data won't be updated

    JHU recovery data won't be updated

    Hello! I'm using your API to fetch data for a discord bot, and as I was looking through the code, I noticed that the source for JHU data isn't going to be updated anymore per a recent update. (https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_time_series)

    You may want to update the code to use the new files.

    bug 
    opened by tctree333 13
  • Confirmed  and recovered cases = 0 for no reason

    Confirmed and recovered cases = 0 for no reason

    The number of confirmed and recovered cases are returning 0.

    For example:

    https://coronavirus-tracker-api.herokuapp.com/v2/locations?country_code=FR "latest":{"confirmed":0,"deaths":450,"recovered":0}

    Same problem for every country i tested, and for world statistics also... wasn't a problem an hour ago. Is it just me ?

    EDIT: Seems to be related to the alst update (2020-03-22T00:05:34.338735Z)

    opened by ifndev 13
  • [BUG]Death data missing from countries id266 onwards as from 23/08/22

    [BUG]Death data missing from countries id266 onwards as from 23/08/22

    Describe the bug A clear and concise description of what the bug is. Please include timestamps and HTTP status codes. If possible include the httpie or curl request and response. Please include the verbose flag. -v

    To Reproduce httpie/curl request to reproduce the behavior:

    1. Getting Italy data at v2/locations/IT gives a 422.
    2. Expected to same data as /v2/locations?country_code=IT
    3. See httpie request & response below

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots or Requests If applicable, add screenshots or httpie/curlrequests to help explain your problem.

    $ http GET https://coronavirus-tracker-api.herokuapp.com/v2/locations/IT -v                                                                                                                                                            
    GET /v2/locations/IT HTTP/1.1
    Accept: */*
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Host: coronavirus-tracker-api.herokuapp.com
    User-Agent: HTTPie/2.0.0
    
    
    
    HTTP/1.1 422 Unprocessable Entity
    Connection: keep-alive
    Content-Length: 99
    Content-Type: application/json
    Date: Sat, 18 Apr 2020 12:50:29 GMT
    Server: uvicorn
    Via: 1.1 vegur
    
    {
        "detail": [
            {
                "loc": [
                    "path",
                    "id"
                ],
                "msg": "value is not a valid integer",
                "type": "type_error.integer"
            }
        ]
    }
    

    Additional context Add any other context about the problem here. Does the other instance at https://covid-tracker-us.herokuapp.com/ produce the same result?

    bug 
    opened by PRRH 12
  • [BUG] Unable to access the site. Error 503 (Service Unavailable)

    [BUG] Unable to access the site. Error 503 (Service Unavailable)

    Describe the bug Hitting the v2 API at the https://covid-tracker-us.herokuapp.com backend is yielding a 503 Server Error.

    I've seen the other issues that have raised this problem in the past and know that there may be some work in progress to reduce memory usage to prevent hitting the Heroku free tier limits.

    Raising this issue as I recently ran into it again today.

    Context: I hit this API every 2 weeks to generate some internal + external reports & infographics about COVID for my company.

    bug 
    opened by carlshan 12
  • Reimplementation of country_code - why?

    Reimplementation of country_code - why?

    The reimplementation of the country_code function in the 73f02fb does at least 3 dictionary lookups for any input: 3 lookups in the best-case and 5 lookups in worst-case scenarios:

                       # 1.                     # 2.
        if not country in is_3166_1 and country in synonyms:
            country = synonyms[country]     # 3.
    
        # Return code if country was found.
        if country in is_3166_1:            # 4.
            return is_3166_1[country]       # 5.
    

    Where the original implementation does only 2 lookups in the best-case and only 4 lookups in worst-case scenarios:

        if country in is_3166_1:             # 1.
            return is_3166_1[country]        # 2.  
        else:
            if country in synonyms:          # 2.
                synonym = synonyms[country]  # 3.
                return is_3166_1[synonym]    # 4.
            else:
                if verbose:
                    print ("No country_code found for '" + country + "'. Using '" + default_code + "'")
                return default_code
    

    To me it looks like the old implementation is more efficient, right?

    Yea i know, the code gets optimized, dictionaries get cached, processor instructions reordered, etc. by some "magic". Either way this function gets computed quite a lot, and one cannot predict "magic"... So then why such a change? Have you done any measurements?

    enhancement 
    opened by Bost 11
  • FastAPI conversion

    FastAPI conversion

    I thought I should open up my in-progress PR so that the maintainers can see what a transition to #130 FastAPI would look like.

    I didn't want to heavily redesign the application without input or discussion from the original creators. But for example, some of the existing code could be refactored to take advantage of FastAPI's dependency injection system.

    I've added 2 pipenv scripts, that can be used to run a local development server. To run it just type. pipenv run dev_app or pipenv run app

    TODO:

    • [x] fix timelines for GET /locations
    • [x] refactor according to guidance from creators
    • [x] work with csbs source
    • [x] verify working /v1 endpoints
    • [x] setup gunicorn configuration
    • [x] Test Heroku deployment
    • [x] add GET /sources
    • [x] fix datetime format
    • [x] add source param to all endpoints?
    • [x] make timelines query param a boolean (in swagger doc)
    • [x] replace flask v2 with FastAPI v2
    • [x] FastAPI app tests
    • [x] Make all properties on a location queryable
    opened by Kilo59 11
  • Add ability to filter aggregate data

    Add ability to filter aggregate data

    A very very minimal edit, but it would allow users to get aggregate data by country_code, province, etc. by adding a filter as a GET parameter. GET /api/v2/latest?country_code=US would solve #108 , for instance.

    opened by SeanCena 11
  • See country total instead of province.

    See country total instead of province.

    I don't know if I'm just missing it, but I can't seem to find a query parameter that returns the latest cases per country, instead of per province, as is currently the case. Is the only possibility at the moment to go through each province belonging to a country and to add the total cases together?

    Thanks

    question 
    opened by lburch02 10
  • Add testsuite for unit- and integration tests

    Add testsuite for unit- and integration tests

    Based on #64, I created a basic test suite with following features:

    • Unit-Testing of all help function, like date.is_date
    • Integration-Testing of API endpoints (validation agains output from tests/expected_output)
    • Add example data to tests/example_data for testing
    • Mocking of app.data.requests.get and app.data.datetime to enforce data fetch locally from tests/example_data
    • Edit of README.md for testing and linting
    • Add pytest and pytest to Pipfile to dev-packages
    • Randomize testing possible to test for stable code
    • Update Pipfile.lock with new dev-dependencies

    Testing of PR:

    $ pytest -s -v tests/
    

    ToDos:

    • Add additonal testcases for endpoint /all. It is hard to test due to caching mechanism. Need to check, if it is possible to deactivate caching during testing
    • Optional: Contol testing per Makefile
    • Optional: Add to CI-pipeline
    opened by gribok 9
  • Unable to run the program from a Windows machine

    Unable to run the program from a Windows machine

    Hello, I am having trouble running the program with a Windows machine; As instructed, I installed Python 3.8 and pipenv, created the virtual environment and installed the dependencies via "pipenv sync --dev" from the commandline, as well as entering the virtual environment via "pipenv shell"

    When I attempted the run the program via "main.py" I was met with an "ImportError" stating that the "attempted relative import with no known parent package", and this is related to line 16, in from .config import get_settings

    Could you provide advice as to how I can set up/what I need in order to run the program?

    invalid 
    opened by snwchow 8
  • Bump certifi from 2020.12.5 to 2022.12.7

    Bump certifi from 2020.12.5 to 2022.12.7

    Bumps certifi from 2020.12.5 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Access to coronavirus-tracer-api not available[BUG]

    Access to coronavirus-tracer-api not available[BUG]

    Has the following web site now finished ? https://coronavirus-tracker-api.herokuapp.com/#/v2/get_locations_v2_locations_get

    Have been getting this error all day!!!

    An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail

    bug 
    opened by PRRH 0
  • Application error

    Application error

    ]https://covid-tracker-us.herokuapp.com/#/v2/get_locations_v2_locations_get)

    An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command heroku logs --tail

    bug 
    opened by PRRH 0
  • Coronavirus data missing for Finland

    Coronavirus data missing for Finland

    Having downloaded the data from the beginning of the pandemic, I have notices in the last 10 days or so than Finland data are zero. No data from the 15th January to present day. (15-16 January would normally be zero as it is a weekend) just thought I would point it out. KEEP UP THE GOOD WORK AND THANKS.

    opened by PRRH 1
  • Bump urllib3 from 1.26.3 to 1.26.5

    Bump urllib3 from 1.26.3 to 1.26.5

    Bumps urllib3 from 1.26.3 to 1.26.5.

    Release notes

    Sourced from urllib3's releases.

    1.26.5

    :warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap

    • Fixed deprecation warnings emitted in Python 3.10.
    • Updated vendored six library to 1.16.0.
    • Improved performance of URL parser when splitting the authority component.

    If you or your organization rely on urllib3 consider supporting us via GitHub Sponsors

    1.26.4

    :warning: IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap

    • Changed behavior of the default SSLContext when connecting to HTTPS proxy during HTTPS requests. The default SSLContext now sets check_hostname=True.

    If you or your organization rely on urllib3 consider supporting us via GitHub Sponsors

    Changelog

    Sourced from urllib3's changelog.

    1.26.5 (2021-05-26)

    • Fixed deprecation warnings emitted in Python 3.10.
    • Updated vendored six library to 1.16.0.
    • Improved performance of URL parser when splitting the authority component.

    1.26.4 (2021-03-15)

    • Changed behavior of the default SSLContext when connecting to HTTPS proxy during HTTPS requests. The default SSLContext now sets check_hostname=True.
    Commits
    • d161647 Release 1.26.5
    • 2d4a3fe Improve performance of sub-authority splitting in URL
    • 2698537 Update vendored six to 1.16.0
    • 07bed79 Fix deprecation warnings for Python 3.10 ssl module
    • d725a9b Add Python 3.10 to GitHub Actions
    • 339ad34 Use pytest==6.2.4 on Python 3.10+
    • f271c9c Apply latest Black formatting
    • 1884878 [1.26] Properly proxy EOF on the SSLTransport test suite
    • a891304 Release 1.26.4
    • 8d65ea1 Merge pull request from GHSA-5phf-pp7p-vc2r
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump pydantic from 1.8 to 1.8.2

    Bump pydantic from 1.8 to 1.8.2

    Bumps pydantic from 1.8 to 1.8.2.

    Release notes

    Sourced from pydantic's releases.

    v1.8.2 (2021-05-11)

    See Changelog.

    Warning

    A security vulnerability, level "moderate" is fixed in v1.8.2. Please upgrade ASAP. See security advisory CVE-2021-29510.

    Changes

    • Security fix: Fix date and datetime parsing so passing either 'infinity' or float('inf') (or their negative values) does not cause an infinite loop, see security advisory CVE-2021-29510
    • fix schema generation with Enum by generating a valid name, #2575 by @​PrettyWood
    • fix JSON schema generation with a Literal of an enum member, #2536 by @​PrettyWood
    • Fix bug with configurations declarations that are passed as keyword arguments during class creation, #2532 by @​uriyyo
    • Allow passing json_encoders in class kwargs, #2521 by @​layday
    • support arbitrary types with custom __eq__, #2483 by @​PrettyWood
    • support Annotated in validate_arguments and in generic models with python 3.9, #2483 by @​PrettyWood

    v1.8.1 (2021-03-03)

    See Changelog.

    Bug fixes for regressions and new features in v1.8

    Changelog

    Sourced from pydantic's changelog.

    v1.8.2 (2021-05-11)

    !!! warning A security vulnerability, level "moderate" is fixed in v1.8.2. Please upgrade ASAP. See security advisory CVE-2021-29510

    • Security fix: Fix date and datetime parsing so passing either 'infinity' or float('inf') (or their negative values) does not cause an infinite loop, see security advisory CVE-2021-29510
    • fix schema generation with Enum by generating a valid name, #2575 by @​PrettyWood
    • fix JSON schema generation with a Literal of an enum member, #2536 by @​PrettyWood
    • Fix bug with configurations declarations that are passed as keyword arguments during class creation, #2532 by @​uriyyo
    • Allow passing json_encoders in class kwargs, #2521 by @​layday
    • support arbitrary types with custom __eq__, #2483 by @​PrettyWood
    • support Annotated in validate_arguments and in generic models with python 3.9, #2483 by @​PrettyWood

    v1.8.1 (2021-03-03)

    Bug fixes for regressions and new features from v1.8

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Releases(v2.0)
  • v2.0(Mar 18, 2020)

    Version 2 is now here. This adds a whole new complexity to the core and introduces a new concept behind a location (it is now more flattened: https://github.com/ExpDev07/coronavirus-tracker-api/issues/55).

    Endpoints added:

    New endpoints!

    Getting latest statistics

    This gets the latest global statistics for confirmed cases, deaths, and recoveries.

    GET /v2/latest
    

    Getting locations

    This retrieves all the locations. If you see, they all have an ID attached to them.

    GET /v2/locations
    

    You can also filter the locations by a alpha2-country code (https://github.com/ExpDev07/coronavirus-tracker-api/issues/54). For Norway:

    GET /v2/locations?country_code=NO
    

    Getting a single location which includes the timelines.

    You use the ID assigned to the locations to access them alone (https://github.com/ExpDev07/coronavirus-tracker-api/issues/42). Through this endpoint, you'll also get the timelines associated with it.

    GET /v2/location/:id
    

    E.g: For Norway:

    GET /v2/location/39
    

    All dates are using the same ISO standard now.

    (https://github.com/ExpDev07/coronavirus-tracker-api/issues/46).

    What happens to the old endpoints (/all, /confirmed, /deaths, and /recovered)?

    They'll stay around for legacy reasons and not to break peoples' apps.

    Source code(tar.gz)
    Source code(zip)
Owner
Marius
21 years old. Experience in PHP, Laravel, VueJS, Java, Spring, C#, JavaScript, EmberJS, TypeScript, Python, Flask, more.
Marius
🌍💉 Global COVID-19 vaccination data at the regional level.

COVID-19 vaccination data at subnational level. To ensure its officiality, the source data is carefully verified.

sociepy 61 Sep 21, 2022
Ontario-Covid-Screening - An automated Covid-19 School Screening Tool for Ontario

Ontario-Covid19-Screening An automated Covid-19 School Screening Tool for Ontari

Rayan K 0 Feb 20, 2022
Simple and easy to use python API for the COVID registration booking system of the math department @ unipd (torre archimede)

Simple and easy to use python API for the COVID registration booking system of the math department @ unipd (torre archimede). This API creates an interface with the official browser, with more useful functionalities.

Guglielmo Camporese 4 Dec 24, 2021
Hook and simulate global keyboard events on Windows and Linux.

keyboard Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

BoppreH 3.2k Jan 1, 2023
These are the scripts used for the project of ‘Assembly of a pan-genome for global cattle reveals missing sequence and novel structural variation, providing new insights into their diversity and evolution history’

script-SV-genotyping These are the scripts used for the project of ‘Assembly of a pan-genome for global cattle reveals missing sequence and novel stru

null 2 Aug 26, 2022
Iss-tracker - ISS tracking script in python using NASA's API

ISS Tracker Tracking International Space Station using NASA's API and plotting i

Partho 9 Nov 29, 2022
This is the accompanying repository for the Bloomberg Global Coal Countdown website.

This is the accompanying repository for the Bloomberg Global Coal Countdown (BGCC) website. Data Sources Dashboard Data Schema and Validation License

null 7 Jun 1, 2022
To check my COVID-19 vaccine appointment, I wrote an infinite loop that sends me a Whatsapp message hourly using Twilio and Selenium. It works on my Raspberry Pi computer.

COVID-19_vaccine_appointment To check my COVID-19 vaccine appointment, I wrote an infinite loop that sends me a Whatsapp message hourly using Twilio a

Ayyuce Demirbas 24 Dec 17, 2022
Howell County, Missouri, COVID-19 data and (unofficial) estimates

COVID-19 in Howell County, Missouri This repository contains the daily data files used to generate my COVID-19 dashboard for Howell County, Missouri,

Jonathan Thornton 0 Jun 18, 2022
Alerts for Western Australian Covid-19 exposure locations via email and Slack

WA Covid Mailer Sends alerts from Healthy WA's Covid19 Exposure Locations via email and slack. Setup Edit the configuration items in wacovidmailer.py

null 13 Mar 29, 2022
Covid-19-Trends - A project that me and my friends created as the CSC110 Final Project at UofT

Covid-19-Trends Introduction The COVID-19 pandemic has caused severe financial s

null 1 Jan 7, 2022
Simple project to assist in tracking/logging my working hours

Fill working hours Basic script to assist in the logging/tracking of my working hours How it works Create a file called projects.json in this director

Robin Kennedy-Reid 2 Oct 31, 2022
With the initiation of the COVID vaccination drive across India for all individuals above the age of 18, I wrote a python script which alerts the user regarding open slots in the vicinity!

cowin_notifier With the initiation of the COVID vaccination drive across India for all individuals above the age of 18, I wrote a python script which

null 13 Aug 1, 2021
Repositorio com arquivos processados da CPI da COVID para facilitar analise

cpi4all Repositorio com arquivos processados da CPI da COVID para facilitar analise Organização No site do senado é possivel encontrar a lista de todo

Breno Rodrigues Guimarães 12 Aug 16, 2021
Check COVID locations of interest against Google location history

Location of Interest Checker Script to compare COVID locations of interest to Google location history. The script produces a map plot (as shown below)

null 9 Mar 30, 2022
COVID-19 case tracker in Dash

covid_dashy_personal This is a personal project to build a simple COVID-19 tracker for Australia with Dash. Key functions of this dashy will be to Dis

Jansen Zhang 1 Nov 30, 2021
We are building an open database of COVID-19 cases with chest X-ray or CT images.

?? Note: please do not claim diagnostic performance of a model without a clinical study! This is not a kaggle competition dataset. Please read this pa

Joseph Paul Cohen 2.9k Dec 30, 2022
Python NZ COVID Pass Verifier/Generator

Python NZ COVID Pass Verifier/Generator This is quick proof of concept verifier I coded up in a few hours using various libraries to parse and generat

NZ COVID Pass Community 12 Jan 3, 2023
Vaksina - Vaksina COVID QR Validation Checker With Python

Vaksina COVID QR Validation Checker Vaksina is a general purpose library intende

Michael Casadevall 33 Aug 20, 2022