This repository contains style and community guidelines for Starsim projects. The style guide 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.
- 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 Starsim: short principles and credos for research and software (simplicity, docs, tests, change).
Note: although not part of the style guide, the IDM software engineering quality guidelines are also included here for completeness. The style guide and the engineering quality guidelines together give a (pretty) complete picture of what good Starsim code looks like.
Version: 2.1 | Last updated: 2026-04-02