The Open Science COVID19 Analysis (OSCOVIDA) project provides a unified interface to multiple sources of regional COVID19 data, this interface is then used to create tracking reports via Jupyter notebooks for over 600 individual regions. These are available as static HTML, and can be executed and modified interactively using Binder, providing greater flexibility than other tracker sites.
Oscovida, which stands for Open Science Covid Analysis, is a python package which provides some generic data access and plotting methods for use in a Jupyter notebook.
This package is used to programmatically create a website that provides COVID19 tracking information, which can be used by scientists and the wider public to understand spread of the global pandemic, and in some regions, where the first wave has passed, to detect, monitor and study localised or wider renewed outbreaks. The availability of the reproduction number R and its behaviour as a function of time helps to put the discussions in politics and media into context, the change in daily deaths and cases can help motivate measures such as social distancing or easing of restrictions.
A python template file with cell annotations, which calls the oscovida package, is used to create detailed plots and statistics for currently over 600 regions. We use GitHub workflows to automatically fetch new data, parametrise the template, convert it to an
.ipynb file, execute the notebooks in parallel, and then to save the exported HTML output.
Afterwards the static HTML files are added to a separate repository which, using Pelican, generates a responsive and searchable website allowing for easy access to these notebooks, which users can also execute on binder. This repository is then used to build a website which is hosted on GitHub Pages at https://oscovida.github.io
As the project is open source and modular others can (and have) contributed, for example by adding in new regions for the notebook generation.
In addition to the automatically generated notebook-based pages, we also provide a number of tutorial notebooks as well as some educational material discussing how to interpret the plots and statistics about COVID19 cases and deaths.
This project shows how Jupyter can easily integrate into the open-source ecosystem of tools (such as Binder and GitHub Workflows and Pages) to quickly create informative and interactive data analysis websites facilitating citizen science.
Oscovida website: oscovida.github.io
Oscovida code repository: https://github.com/oscovida/oscovida
Oscovida website repository: https://github.com/oscovida/oscovida.github.io
Workflow for automatic notebook templating, execution, and website generation: https://github.com/oscovida/oscovida.github.io/blob/master/.github/workflows/update-webpages.yml