{"id":18399580,"url":"https://github.com/mrc-ide/odin2","last_synced_at":"2025-04-07T05:34:25.999Z","repository":{"id":242099633,"uuid":"807700385","full_name":"mrc-ide/odin2","owner":"mrc-ide","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-05T07:55:04.000Z","size":5751,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-22T14:04:57.745Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mrc-ide.github.io/odin2/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrc-ide.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-29T15:53:48.000Z","updated_at":"2025-02-19T10:07:45.000Z","dependencies_parsed_at":"2024-05-31T17:24:19.437Z","dependency_job_id":"d99c4b0a-cfb7-4505-aff7-1a2ccfb3ec0c","html_url":"https://github.com/mrc-ide/odin2","commit_stats":null,"previous_names":["mrc-ide/odin2"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Fodin2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Fodin2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Fodin2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrc-ide%2Fodin2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrc-ide","download_url":"https://codeload.github.com/mrc-ide/odin2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247601378,"owners_count":20964861,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T02:27:48.026Z","updated_at":"2025-04-07T05:34:20.977Z","avatar_url":"https://github.com/mrc-ide.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# odin2 \u003cimg src='man/figures/logo.png' align=\"right\" height=\"139\" /\u003e\n\n\u003c!-- badges: start --\u003e\n[![Project Status: Concept – Minimal or no implementation has been done yet, or the repository is only intended to be a limited example, demo, or proof-of-concept.](https://www.repostatus.org/badges/latest/concept.svg)](https://www.repostatus.org/#concept)\n[![R build status](https://github.com/mrc-ide/odin2/workflows/R-CMD-check/badge.svg)](https://github.com/mrc-ide/odin2/actions)\n[![codecov.io](https://codecov.io/github/mrc-ide/odin2/coverage.svg?branch=main)](https://codecov.io/github/mrc-ide/odin2?branch=main)\n\u003c!-- badges: end --\u003e\n\n`odin2` implements a high-level language for describing and implementing ordinary differential equations and difference equations in R.  It provides a \"[domain specific language](https://en.wikipedia.org/wiki/Domain-specific_language)\" (DSL) which _looks_ like R but is compiled directly to C++, using [`dust2`](https://mrc-ide.github.io/dust2/) to solve your system and to provide an interface to particle filters.  You can then use [`monty`](https://mrc-ide.github.io/monty/) to fit your models using MCMC.\n\n* The DSL is _declarative_ reflecting the mathematical nature of the equations.\n* It includes support for equations that involve vectors, matrices and higher dimensional arrays (up to 8!), including a high-level array indexing notation that removes the need for explicit looping.\n* Supports both discrete-time (possibly stochastic) models, as well as continuous-time ODE models.\n* Interpolation functions can be used to include time-varying quantities into the model (piecewise constant, linear and spline interpolation is supported).\n* The equations are analysed before compilation so that parts that do not depend on time are not included in time-dependent calculations.\n* Supports user-supplied parameters for any part of the system.\n* Supports a large number of mathematical functions (see the [functions vignette](https://mrc-ide.github.io/odin2/articles/functions.html) for a complete list).\n\n## Documentation\n\n* See [the introductory vignette](https://mrc-ide.github.io/odin2/articles/odin2.html) for a tutorial-style introduction to `odin2`\n* A [tutorial-style guide](https://mrc-ide.github.io/odin2/articles/fitting.html) to using `odin2` with `dust2` and `monty` to fit models to data\n* A [reference-style guide](https://mrc-ide.github.io/odin2/articles/functions.html) to the syntax and supported functions\n* If you have used [`odin` version 1](https://mrc-ide.github.io/odin) before, see the [migration guide](https://mrc-ide.github.io/odin2/articles/migrating.html) to see what has changed.\n* Because `odin2` compiles to `dust2`, see [its documentation](https://mrc-ide.github.io/dust2) and in particular the [list of functions that you can use](https://mrc-ide.github.io/dust2/reference/index.html)\n\n## Roadmap\n\nThe package is currently ready for use for adventurous users.  It will eventually become [`odin`](https://mrc-ide.github.io/odin) and replace that version on CRAN (i.e., it will simply become version 2.0.0 of `odin`, and `odin2` will cease to be a package name that you will see).  It also replaces [odin.dust](https://mrc-ide.github.io/odin.dust).  It exists separately for now to facilitate development and use alongside the original `odin`.\n\nSee [this list](https://mrc-ide.github.io/odin2/articles/migrating.html#missing-features) of missing features from version 1 of odin before using.\n\nOver the next few months we will be expanding the automatic differentiation support, generating code for other host languages and improving the ergonomics of the package.\n\n## Installation\n\nPlease install from our r-universe:\n\n```r\ninstall.packages(\n  \"odin2\",\n  repos = c(\"https://mrc-ide.r-universe.dev\", \"https://cloud.r-project.org\"))\n```\n\nIf you prefer, you can install from GitHub with `remotes`:\n\n```r\nremotes::install_github(\"mrc-ide/odin2\", upgrade = FALSE)\n```\n\n## License\n\nMIT © Imperial College of Science, Technology and Medicine\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrc-ide%2Fodin2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrc-ide%2Fodin2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrc-ide%2Fodin2/lists"}