Skip to content

Service for running epidemiological models and storing their output

License

Notifications You must be signed in to change notification settings

covid-policy-modelling/model-runner

 
 

Repository files navigation

Covid Model-Runner

The model-runner service provides a common interface for running epidemiological models and is primarily written in TypeScript. This repository contains a package to run models using a shared API for communication with the web-ui and model connectors.

The model-runner service takes a JSON object as input describing assumptions, interventions, and a target model to run. It runs a Docker image containing a connector for the target model, and produces a JSON object as output describing predicted public health outcomes over time. The input and output schemas are common across all supported models.

For more information about model connectors, including contributions of connectors for new models, see the model-connector-template.

To learn more about this project's goals, please see PROJECT-INTENT.md.

Links

Dependencies

model-runner requires the following software to be installed:

For working with the TypeScript portion of the project:

If you want to build a new version of any of the models, you will need additional tools such as a C compiler.

Building, developing, and testing

The model-runner package is written in TypeScript. Currently, the build scripts are only compatible with MacOS and Linux. Windows is not supported.

Building

To install all dependencies and compile the TypeScript:

npm install
npm run build

Testing on the command line

To run the unit and integration tests from the command line for all packages:

npm run test
npm run integration-test

Both these test suites appear to fail at present.

Publishing a package (maintainers only)

GitHub Actions will build, test, and publish a package whenever changes are committed to this repository.

To build and publish a numbered version of a package, run npm version [major | minor | patch], then run git push --tags.

Questions, comments, and where to find us

Contributing

We welcome contributions to this project from the community. See CONTRIBUTING.md.

License

This project is licensed under the MIT license. See LICENSE.

About

Service for running epidemiological models and storing their output

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • TypeScript 89.4%
  • Dockerfile 6.5%
  • Makefile 2.6%
  • Shell 1.2%
  • JavaScript 0.3%