All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Conversion SVG to PNG so that the maps can be added to the REST API smoothly
- graphs with two different y-axis to compare e.g. DailyCases with vaccination effort.
- A method called
create_combined_dataframe_by_geoid_string_list
was added to the CovidCases class. The method will create a combined data frame from a list of individual data fames. To avoid duplicate country names the method will add a -DATASOURCE string behind the country name (e.g. 'Germany-OWID'). - The CovidCasesOWID now provides information about the vaccination status of a country. This includes the following attributes:
-
DailyVaccineDosesAdministered7DayAverage
New COVID-19 vaccination doses administered (7-day smoothed). For countries that don't report vaccination data on a daily basis, we assume that vaccination changed equally on a daily basis over any periods in which no data was reported. This produces a complete series of daily figures, which is then averaged over a rolling 7-day window. In OWID words this is the new_vaccinations_smoothed value. -
PeopleReceivedFirstDose
Total number of people who received at least one vaccine dose. In OWID words this is the people_vaccinated value. -
PercentPeopleReceivedFirstDose
The percentage of people of the population who received at least one vaccine dose. -
PeopleReceivedAllDoses
Total number of people who received all doses defined by the vaccination protocol. In OWID words this is the people_fully_vaccinated value. -
PercentPeopleReceivedAllDoses
The percentage of people of the population who received all doses defined by the vaccination protocol. -
VaccineDosesAdministered
Total number of COVID-19 vaccination doses administered. It's the sum of PeopleReceivedFirstDose and PeopleReceivedAllDoses. In OWID words this is the total_vaccinations value.
-
A method called
set_grid
has been added to toggle the display of a grid in the PlotterBuilder class. -
The method
set_log
of the PlotterBuilder class now has an argument to toggle between a linear or logarithmic y-axis. -
The method
set_xaxis_index
now has a parameter to toggle between index or date based x-axis. -
A new attribute
__xaxis_formatter
has been add to the PlotterBuilder class. The attribute can be changed byset_yaxis_formatter
. The default yaxis_formatter is nowmpl.ticker.StrMethodFormatter('{x:,.0f}')
. -
The Jupyter Notebook now includes the vaccination data for the given list of countries.
-
The REST API now lets you switch between different data providers. This is done by the new parameter called data_spurce. This can be WHO or OWID. If the parameter is not given it will use WHO as a default.
-
The REST API now also includes vaccination data for the given list of countries. The online version on mb.cmbt.de includes this feature as well.
-
The CovidCasesWHO class included Taiwan in the return of a call to get_pygal_asian_geoid_list even when Taiwan was not included in the WHO dataset. Because of that the generation of Asian pygal maps were incorrect.
-
There was a bug in the method __compute_doubling_time of the CovidCases class that could lead to a division by zero.
- The MacOS application now supports the Apple M1 processor. Use this link to get the MacOS and Windows applications to access an online version of the Covid-19 REST API. After copying the MacOS application to the applications directory you need to start it for the first time with a right-click and selecting execute to approve the application. Afterwards you can start it with the regular double-click. This is the common procedure for none-AppStore applications.
- support for different data provider e.g. ECDC, WHO and OWID
- new Jupyter Notebook to compare the quality of different data provider
- new CovidCasesECDC class to download the data from the ECDC server
- new CovidCasesWHO class to download the data from the WHO server
- new CovidCasesWHOv1 class to download the data from an alternative WHO server
- new CovidCasesOWID class to download the data from the OWID server
- new GeoInformationWorld class to handle ISO 3166 alpha-2 and alpha-3 GeoIDs
- new GeoInformationWorld.csv file in the data directory
- new GeoInformationWorld.xlsx file in the data directory
- new 2020-12-14-ECDC.csv file holding the ECDC until December 14th.
- new 2020-12-14-WHO.csv file holding the WHO until December 14th.
- new 2020-12-14-OWID.csv file holding the OWID until December 14th.
- The CovidDataClass Jupyter Notebook can now use different data providers and defaults to WHO data
- The CovidCases class now acts as a abstract class for its sub-classes
- The PlotterBuilder class reflects changes in CovidCases
- The CovidMap class reflects changes in CovidCases
- The CovidClassSnippet reflects changes in CovidCases
- a MacOS web client is now also available
- .gitignore now includes XCode files
- duplicates in .gitignore have been removed
- some minor typos
- introduced a change log
- added functions to get the country codes for the continents
- added a class to display maps of the worldwide distribution of the data
- added a class to visualize data in a heatmap
- added a favicon
- added map generation to Junyper Notebook
- The C# web client can now save the generated graphs
- changed the documentation method to make use of the Python Docstring Generator
- modified requirements.txt
- removed the class sources from the Jupyter Notebook
- added method to get a list of available GeoIDs/CountyNames (get_available_GeoID_list)
- added method to get the accumulated 7 day incidence (add_incidence_7day_per_100Kpopulation)
- renamed 'Cases' to 'DailyCases'
- renamed 'Deaths' to 'DailyDeaths'
- renamed 'CumulativeCases' to 'Cases'
- renames 'CumulativeDeaths' to 'Deaths'
- added a function to lowpass a attribute
The width of the lowpass is given by the number n. The name of the newly created attribute is the given name with a tailing number n. E.g. 'Cases' with n = 7 will add to a newly added attribute named 'Cases7'. - added a function to save a data frame to a CSV file
- added a function to calculate an estimation for the reproduction rate R0
- instead of the ECDC JSON file we are now using the CSV with the same data
- instead of the JSON data structure we are now using a Pandas data frame Both changes allow us to easier add new methods and analytics
- the attribute 'Quotient' has been removed. the attribute was the number of cases on the day divided by the number of cases of the previous day
- 'Continent' is a new field to analyse the distribution of cases over continents
- support for the JSON file of the ECDC
- Added a REST API
- Added a C# client making use of the REST API
- The database file is now loaded automatically if it doesn't exist for the current day
- Applying some PEP8 style guides
- Add function to get the data for the last N days
- Initial commits finalized
- support for the JSON file of the ECDC