# EpiJS
The epidemiology package for JavaScript

[![License: GPL--3.0](https://img.shields.io/github/license/epispot/EpiJS?style=flat-square)](https://github.com/epispot/epijs/blob/main/LICENSE)
[![npm version](https://img.shields.io/npm/v/@epispot/epijs?style=flat-square)
![npm downloads](https://img.shields.io/npm/dt/@epispot/epijs?color=%232c5fde&label=npm%20downloads&style=flat-square) ](https://npmjs.org/package/@epispot/epijs) 
[![GitHub issues](https://img.shields.io/github/issues/epispot/epijs?style=flat-square) ](https://github.com/epispot/epijs/issues/) 
[![GitHub pull requests](https://img.shields.io/github/issues-pr/epispot/epijs?style=flat-square) ](https://github.com/epispot/EpiJS/pulls) 
[![Build Status](https://img.shields.io/github/workflow/status/epispot/EpiJS/Build?label=Build&logo=GitHub&logoColor=white&style=flat-square)](https://github.com/epispot/EpiJS/actions/workflows/build.yml)

## About
EpiJS is a epidemiological modelling package for JavaScript with built-in support
for SIR-based models including SIR, SEIR, SEIRD, and other models, along with allowing
you to create custom models, model community spread through SIR based models, and more.
## Installation

NodeJS:
```sh
npm install @epispot/epijs
yarn add @epispot/epijs
```
Require:
```javascript
const epijs = require('@epispot/epijs')
```
\
On the web:
```html
<script src="https://cdn.jsdelivr.net/gh/epispot/EpiJS/web/index.min.js"></script>
```
## Features

- Pre-built SIR-based models and plotting
- Community Spread
    - Create Viruses
    - Create Communities
    - Compare two outbreaks 
- Custom models
- Stochastic Modelling
- Pre-built customizable compartments
## Contributing

<a href="https://open.vscode.dev/epispot/EpiJS"><img src="https://open.vscode.dev/badges/open-in-vscode.svg" alt="Open in Visual Studio Code"></a>

Clone the repo:
```sh
git clone https://github.com/epispot/epijs.git 
cd EpiJS
npm install
```

See [`CONTRIBUTING.md`](https://github.com/epispot/EpiJS/blob/main/CONTRIBUTING.md) for details.

## Running Tests

To run tests, run the following command

```sh
npm run test
```

  
## Related

- epispot - https://github.com/epispot/epispot
- CovaSim - https://covasim.org
## Appendix

- Homepage - https://epi.js.org
- Docs - https://epi.js.org/getting-started.html
- Demo - https://epi.js.org/demo/

### Support

For support, consult the [docs](https://epi.js.org) or submit a [discussion](https://github.com/epispot/EpiJS/discussions/new) on the repo

