IDM engineering guidance
This repository contains style and community guidelines for IDM projects. The engineering guidance is divided into the following sections:
- Design philosophy: common tasks should be simple, audience is scientists, and workload/readability matter.
- Python style: Google style plus house rules, including no type annotations, longer lines, etc.
- R style and engineering practice: Tidyverse style, plus IDM expectations for renv, testthat, project structure, and CI.
- Testing: focus on scientific correctness, and support triple execution (standalone scripts + pytest + GitHub Actions).
- Documentation: readmes, auto-generated API reference, and tutorials.
- Other principles: for example, be very careful not include sensitive data in repos.
- Zen of IDM: short principles and credos for research and software (simplicity, docs, tests, change).
Note: although not part of the engineering guidance, the IDM software engineering quality guidelines are also included here for completeness. The engineering guidance and the engineering quality guidelines together give a (pretty) complete picture of what good IDM code looks like.
Version: 2.2 | Last updated: 2026-06-10