Timestamps¶
There are two options to get the timestamp for the last update:
Using the
.last_updateproperty.Using the
.get_release_timestamp()(static) method.
Note
The timestamp produced by the .last_update property is not the
same as the which is produced by the .get_release_timestamp() method. The former
supplies the API timestamp - i.e. the time at which the data were deployed to the
database - whilst the latter supplies the time at which the data were released to
the API and by extension the website.
There will always be a difference lag between the two timestamps as the data undergo a quality assurance process before they are released to the API / website.
Note
The .last_update timestamp is produced if and only if the Cov19API
object is instantiated - i.e. when specific filters and structure parameters have
been set. On the other hand, .get_release_timestamp() is a static method and therefore
independent of parameters. This is because the .last_update timestamp is specific to
a set of query metrics and is extracted from the HEAD of an API request. The
.get_release_timestamp() method is, however, extracted from a static file which is
generated a the precise moment when the data is released.
Latest API timestamp¶
-
last_update¶ We use the
.last_updateproperty to extract the latest API timestamp.
Hint
The Cov19API.last_update property only works if the the Cov19API
has been instantiated. This means that the timestamp produced using this property
is associated with a specific combination of filters and structure.
from uk_covid19 import Cov19API
cases_and_deaths = {
"date": "date",
"areaName": "areaName",
"areaCode": "areaCode",
"newCasesByPublishDate": "newCasesByPublishDate",
"cumCasesByPublishDate": "cumCasesByPublishDate",
"newDeaths28DaysByDeathDate": "newDeaths28DaysByDeathDate",
"cumDeaths28DaysByDeathDate": "cumDeaths28DaysByDeathDate"
}
england_only = [
'areaType=nation',
'areaName=England'
]
# Instantiating the API object
api = Cov19API(filters=england_only, structure=cases_and_deaths)
# Request the API timestamp
api_timestamp = api.last_update
print(api_timestamp)
2020-07-28T14:34:31.000000Z
Latest website timestamp¶
-
static
get_release_timestamp()¶ We use the
.get_release_timestamp()static method to extract the latest API timestamp.
Hint
A static method does not require instantiation of the API object. This means that the timestamp is independent of query metrics and filters.
Warning
It may take up to 60 seconds for the data to be updated when the release timestamp
(.get_release_timestamp()) is updated. This is because the cache must refresh before
the new data becomes available. The API timestamp (.last_update), however, is only
updated when the cache has been refreshed. This means that you can only be certain that
you are receiving the most up-to-data data when the .last_update timestamp for your
specific parameters have been updated.
from uk_covid19 import Cov19API
release_timestamp = Cov19API.get_release_timestamp()
print(release_timestamp)
2020-07-28T15:00:00.431323Z