🦠 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
The semi-complete teardown of Cosmo's Cosmic Adventure.

The semi-complete teardown of Cosmo's Cosmic Adventure.

Scott Smitelli 10 Dec 02, 2022
Awesome open-source alternatives to SaaS

Awesome-oss-alternatives - Awesome list of open-source startup alternatives to well-known SaaS products

Runa Capital 12.7k Jan 03, 2023
MIXLAB_NASA_TICKET mixlab 灵感来源于NASA的火星船票

MIXLAB_NASA_TICKET mixlab 灵感来源于NASA的火星船票,我们想要使用开源的代码来定制化这一设计。 其中photo_to_cartoon 是paddle的开源代码:https://github.com/minivision-ai/photo2cartoon-paddle 也借

tongji_cy 38 Feb 20, 2022
Repositório do Projeto de Jogo da Resília Educação.

Jogo da Segurança das Indústrias Acme Descrição Este jogo faz parte do projeto de entrega do primeiro módulo da Resilia Educação, referente ao curso d

Márcio Estevam da Silva 2 Apr 28, 2022
Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero. Print the decimal value of each fraction on a new line with places after the decimal.

Shruti Dhave 2 Nov 29, 2021
This repository provides a set of easy to understand and tested Python samples for using Acronis Cyber Platform API.

Base Acronis Cyber Platform API operations with Python !!! info Copyright © 2019-2021 Acronis International GmbH. This is distributed under MIT licens

Acronis International GmbH 3 Aug 11, 2022
Small Arrow Vortex clipboard processing library

Description Small Arrow Vortex clipboard processing library. Install You can install this library from PyPI with pip install av-clipboard-lib or compi

Delta Epsilon 1 Dec 18, 2021
A tool for RaceRoom Racing Experience which shows you launch data

R3E Launch Tool A tool for RaceRoom Racing Experience which shows you launch data. Usage Run the tool, change the Stop Speed to whatever you want, and

Yuval Rosen 2 Feb 01, 2022
pgvector support for Python

pgvector-python pgvector support for Python Great for online recommendations 🎉 Supports Django, SQLAlchemy, Psycopg 2, Psycopg 3, and asyncpg Install

Andrew Kane 37 Dec 20, 2022
Encode stuff with ducks!

Duckify Encoder Usage Download main.py and run it. main.py has an encoded version in encoded_main.py.txt. As A Module Download the duckify folder (or

Jeremiah 2 Nov 15, 2021
Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day.

Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day. Platform Python Install Use pip: pip

StardustDL 4 Sep 13, 2021
Sudoku-Solver

Sudoku-Solver This is a personal project, that put all my today knowledges to the test, is a project that im developing alone with a lot of effort and

Carlos Ismael Gitto Bernales 5 Nov 08, 2021
TrainingBike - Code, models and schematics I've used to interface my stationary training bike with PC.

TrainingBike Code, models and schematics I've used to interface my stationary training bike with PC. You can find more information about the project i

1 Jan 01, 2022
Advanced IPv4 Subnet Calculator in Python3

Advanced IPv4 Subnet Calculator in Python3 Table of Contents Getting Started Installation How it works? SVI Configuration Template Previews Getting St

Osama Abbas 1 May 10, 2022
Openfe - Alchemical free energy calculations for the masses

The Open Free Energy library Alchemical free energy calculations for the masses.

33 Dec 22, 2022
🏆 A ranked list of awesome Python open-source libraries and tools. Updated weekly.

Best-of Python 🏆 A ranked list of awesome Python open-source libraries & tools. Updated weekly. This curated list contains 230 awesome open-source pr

Machine Learning Tooling 2.7k Jan 03, 2023
Automated moth pictures for biodiversity research

Automated moth pictures for biodiversity research

Ludwig Kürzinger 1 Dec 16, 2021
This repo presents you the official code of "VISTA: Boosting 3D Object Detection via Dual Cross-VIew SpaTial Attention"

VISTA VISTA: Boosting 3D Object Detection via Dual Cross-VIew SpaTial Attention Shengheng Deng, Zhihao Liang, Lin Sun and Kui Jia* (*) Corresponding a

104 Dec 29, 2022
Entitlement AND Hardened Runtime Check

Python3 script for macOS to recursively check /Applications and also check /usr/local/bin, /usr/bin, and /usr/sbin for binaries with problematic/interesting entitlements. Also checks for hardened run

Cedric Owens 79 Nov 16, 2022
Pardus-flatpak-gui - A Flatpak GUI for Pardus

Pardus Flatpak GUI A GUI for Flatpak. You can run, install (from FlatHub and fro

Erdem Ersoy 2 Feb 17, 2022