🦠 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
A passive recon suite designed for fetching the information about web application

FREAK Suite designed for passive recon Usage: python3 setup.py python3 freak.py warning This tool will throw error if you doesn't provide valid api ke

toxic v3nom 7 Feb 17, 2022
Zues Auto Claimer Leaked By bazooka#0001

Zues Auto Claimer Leaked By bazooka#0001 put proxies in prox.txt put ssid in sid.txt put all users you want to target in user.txt for the login just t

1 Jan 15, 2022
Oregon State University grade distributions from Fall 2018 through Summer 2021

Oregon State University Grades Oregon State University grade distributions from Fall 2018 through Summer 2021 obtained through a Freedom Of Informatio

Melanie Gutzmann 5 May 02, 2022
Speed up your typing by some exercises in the multi-platform(Windows/Ubuntu).

Introduction This project purpose is speed up your typing by some exercises in the multi-platform(Windows/Ubuntu). Build Environment Software Environm

lyfer233 1 Mar 24, 2022
Stopmagic gives you the power of creating amazing Stop Motion animations faster and easier than ever before.

Stopmagic gives you the power of creating amazing Stop Motion animations faster and easier than ever before. This project is maintained by Aldrin Mathew.

Aldrin's Art Factory 67 Dec 31, 2022
The code for 2021 MGTV AI Challenge Anti Stealing Link, and the online result ranks 10th.

赛题介绍 芒果TV-第二届“马栏山杯”国际音视频算法大赛-防盗链 随着业务的发展,芒果的视频内容也深受网友的喜欢,不少视频网站和应用开始盗播芒果的视频内容,盗链网站不经过芒果TV的前端系统,跳过广告播放,且消耗大量的服务器、带宽资源,直接给公司带来了巨大的经济损失,因此防盗链在日常运营中显得尤为重要

tongji40 16 Jun 17, 2022
AdventOfCode 2021 solutions from the Devcord server

adventofcode-21 Ein Sammel-Repository für Advent of Code 2021-Lösungen der deutschen DevCord-Community. A repository collecting Advent of Code 2021 so

Devcord 12 Aug 26, 2022
YBlade - Import QBlade blades into Fusion 360

YBlade - Import QBlade blades into Fusion 360 Simple script for Fusion 360 that takes QBlade blade description and constructs the blade: Usage First,

Jan Mrázek 37 Sep 25, 2022
All kinds of programs are accepted here, raise a genuine PR, and claim a PR, Make 4 successful PR's and get the Stickers and T-Shirt from hacktoberfest 2021

this repository is excluded from hacktoberfest Hacktoberfest-2021 This repository aims to help code beginners with their first successful pull request

34 Sep 11, 2022
Imitate Moulinette written in Python

Imitate Moulinette written in Python

Pumidol Leelerdsakulvong 2 Jul 26, 2022
Easytile blender - Simple Blender 2.83 addon for tiling meshes easily

easytile_blender Dead simple, barebones Blender (2.83) addon for placing meshes as tiles. Installation In Blender, go to Edit Preferences Add-ons

Sam Gibson 6 Jul 19, 2022
Information about a signed UEFI Shell that can be used when Secure Boot is enabled.

SignedUEFIShell During our research of the BootHole vulnerability last year, we tried to find as many signed bootloaders as we could. We searched all

Mickey 61 Jan 03, 2023
Install Firefox from Mozilla.org easily, complete with .desktop file creation.

firefox-installer Install Firefox from Mozilla.org easily, complete with .desktop file creation. Dependencies Python 3 Python LXML Debian/Ubuntu: sudo

rany 7 Nov 04, 2022
A collection of simple tools that proved to be needed for hadling large periodic calculations with the VASP software package.

VESTA-tools A collection of simple tools that proved to be needed for handling large periodic calculations with the VASP software package. distTotCalc

Ilia Kichev 2 Dec 14, 2021
Web App for University Project

University Project About I made this web app to finish a project assigned by my teacher. It is written entirely in Python, thanks to streamlit to make

15 Nov 27, 2022
A web-based analysis toolkit for the System Usability Scale providing calculation, plotting, interpretation and contextualization utility

System Usability Scale Analysis Toolkit The System Usability Scale (SUS) Analysis Toolkit is a web-based python application that provides a compilatio

Jonas Blattgerste 3 Oct 27, 2022
ToDoListAndroid - To-do list application created using Kivymd

ToDoListAndroid To-do list application created using Kivymd. Version 1.0.0 (1/Jan/2022). Planned to do next: -Add setting (theme selector, etc) -Add f

AghnatHs 1 Jan 01, 2022
💘 Write any Python with 9 Characters: e,x,c,h,r,(,+,1,)

💘 PyFuck exchr(+1) PyFuck is a strange playful code. It uses only nine different characters to write Python3 code. Inspired by aemkei/jsfuck Example

Satoki 10 Dec 25, 2022
The-White-Noise-Project - The project creates noise intentionally

The-White-Noise-Project High quality audio matters everywhere, even in noise. Be

Ali Hakim Taşkıran 1 Jan 02, 2022
Simple calculator made in python

calculator Uma alculadora simples feita em python CMD, PowerShell, Bash ✔️ Início 💻 apt-get update apt-get upgrade -y apt-get install python git git

Spyware 8 Dec 28, 2021