Code Overview
In addition to the Delphi Epidata API server code, we have a number of user-oriented code packages, such as API clients and time-series modeling for epidemiology.
All source code is freely available on GitHub.
API and clients
The core server code for the Delphi Epidata API.
R client for the Delphi Epidata API.
It allows you to cache queries locally to speed up data access and seamlessly integrate pulling from our API into your pipelines.
A work-in-progress Python client for the Delphi Epidata API.
Not yet recommended for production, but we are happy to receive feedback!
Forecasting
An introduction to epidemiological forecasting using our tools: epiprocess and epipredict.
A collection of data structures and methods for handling epidemiological data.
The major features are:
- The epi_df structure, which allows you track epidemiological data measured over location and time (and other potential keys).
- The epi_archive structure, which allows you to store epi_df objects in a versioned archive and to query the archive for the state of the data at any point in time.
- Support for applying generic functions across a sliding time window, building on tools like slider. Comes with support for
- handling gaps in time
- automatically handling grouping of keys
- Support for version aware data transformation and forecasting, which allows for simple and accurate backtesting of forecasting models (using only the actual data that was available at the time of the forecast and not the revised versions).
- Growth rate estimation, as estimated using relative rates of change, linear regression, smooth splines, or polynomial trend filtering.
- Outlier detection and correction, using rolling median or LOESS trend decomposition.
- Signal correlation over space, time and other keys. It also supports lagged correlations, automatically handles grouping by the specified keys, and handles time gaps.
A framework for building epidata pipelines involving transformation and forecasting. It is designed to work smoothly with epiprocess and provides a simple interface for defining and running forecasting workflows. It supports:
- A simple interface for defining a sequence of data pre-processing, forecasting, and post-processing steps.
- A collection of data processing steps common to epidata.
- A collection of pre-packaged forecasting models commonly used by Delphi’s forecasting team.
Deprecated Packages
A collection of R and Python packages for accessing and analyzing data from the Delphi COVIDcast API.
R package that implements several methods for epidemiological forecasting empirical bayes (EB), basis regression (BR), and time-weighted kernel density estimation (twkde).
Python utility package for handling dates and locations.