šŸ¦  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
Get a list of all offline/online members in a discord server

Discord server insights Get a list of all offline/online members in a discord server. Uses Selenium to crawl invite links. Config Download Chrome driv

Prakhar Gurunani 3 Oct 21, 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
Google Foobar challenge solutions from my experience and other's on the web.

Google Foobar challenge Google Foobar challenge solutions from my experience and other's on the web. Note: Problems indicated with "Mine" are tested a

Islam Ayman 6 Jan 20, 2022
Density is a open-sourced multi-purpose tool for ROBLOX with some cool

Density is a open-sourced multi-purpose tool for ROBLOX with some cool

ssl 5 Jul 16, 2022
Repo created for the purpose of adding any kind of programs and projects

Programs and Project Repository A repository for adding programs and projects of any kind starting from beginners level to expert ones Contributing to

Unicorn Dev Community 3 Nov 02, 2022
KUIZ is a web application quiz where you can create/take a quiz for learning and sharing knowledge from various subjects, questions and answers.

KUIZ KUIZ is a web application quiz where you can create/take a quiz for learning and sharing knowledge from various subjects, questions and answers.

Thanatibordee Sihaboonthong 3 Sep 12, 2022
navigation_commander is a ROS package to command the robot to navigate autonomously to each table for food delivery inside a hotel.

navigation_commander navigation_commander is a ROS package to command the robot to navigate autonomously to each table for food delivery inside a hote

ALEENA LENTIN 9 Nov 08, 2021
[x]it! support for working with todo and check list files in Sublime Text

[x]it! for Sublime Text This Sublime Package provides syntax-highlighting, shortcuts, and auto-completions for [x]it! files. Features Syntax highlight

Jan Heuermann 18 Sep 19, 2022
A general-purpose wallet generator, for supported coins only

2gen A general-purpose generator for keys. Designed for all cryptocurrencies supporting the Bitcoin format of keys and addresses. Functions To enable

Vlad Usatii 1 Jan 12, 2022
SDX: Software Defined Internet Exchange

Installation steps: Download and import the Internet2-SDX virtual machine (VM) image, below, in VirtualBox and you are all set :) $ wget http://sites.

Software Defined Internet Exchange Point 15 Nov 21, 2021
Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Shreejan Dolai 9 Dec 31, 2022
Todo-backend - Todo backend with python

Todo-backend - Todo backend with python

Julio C. Diaz 1 Jan 07, 2022
VacationCycleLogicBackEnd - Vacation Cycle Logic BackEnd With Python

Vacation Cycle Logic BackEnd Getting Started Existing virtualenv If your project

Mohamed Gamal 0 Jan 03, 2022
Regular Expressions - Use regular expressions to detect date format

A list of all the resources used https://regex101.com/ - To test regex https://w

Ravika Nagpal 1 Jan 04, 2022
Simple programming language built on Python.

Serial Another programming language. Built on Python. Building and running program In order to run the program on serial, unfortunately you still need

Aleksey Demchenkov 1 Dec 09, 2021
Functional interface for concurrent futures, including asynchronous I/O.

Futured provides a consistent interface for concurrent functional programming in Python. It wraps any callable to return a concurrent.futures.Future,

A. Coady 11 Nov 27, 2022
Lock a program and kills it indefinitely if it is started.

Kill By Lock Lock a program and kills it indefinitely if it is started. How start it? It' simple, you just have to double-click on the python file (.p

1 Jan 12, 2022
Impf Bot.py šŸāš” automation for the German

Impf Bot.py šŸāš” automation for the German "ImpfterminService - 116117"

251 Dec 13, 2022
Configure request params such as text, color, size etc. And then download the image

Configure request params such as text, color, size etc. And then download the image

6 Aug 18, 2022
A Company Management System For Python

campany-management Getting started To make it easy for you to get started with GitLab, here's a list of recommended next steps. Already a pro? Just ed

hatice akpınar 3 Aug 29, 2022