In [ ]:
import datetime
import time

start =
print(f"Notebook executed on: {start.strftime('%d/%m/%Y %H:%M:%S%Z')} {time.tzname[time.daylight]}")
In [ ]:
%config InlineBackend.figure_formats = ['svg']
from oscovida import *
In [ ]:
overview("Iraq", weeks=5);
In [ ]:
In [ ]:
compare_plot("Iraq", normalise=True);
In [ ]:
# load the data
cases, deaths = get_country_data("Iraq")

# get population of the region for future normalisation:
inhabitants = population("Iraq")
print(f'Population of "Iraq": {inhabitants} people')

# compose into one table
table = compose_dataframe_summary(cases, deaths)

# show tables with up to 500 rows
pd.set_option("max_rows", 500)

# display the table

Explore the data in your web browser

  • If you want to execute this notebook, click here to use myBinder
  • and wait (~1 to 2 minutes)
  • Then press SHIFT+RETURN to advance code cell to code cell
  • See for more details on how to use Jupyter Notebook


  • Johns Hopkins University provides data for countries
  • Robert Koch Institute provides data for within Germany
  • Atlo Team for gathering and providing data from Hungary (
  • Open source and scientific computing community for the data tools
  • Github for hosting repository and html files
  • Project Jupyter for the Notebook and binder service
  • The H2020 project Photon and Neutron Open Science Cloud (PaNOSC)

In [ ]:
print(f"Download of data from Johns Hopkins university: cases at {fetch_cases_last_execution()} and "
      f"deaths at {fetch_deaths_last_execution()}.")
In [ ]:
# to force a fresh download of data, run "clear_cache()"
In [ ]:
print(f"Notebook execution took: {}")