Developer guide#

This guide is for anyone extending ExoSim 2 or contributing to it: the coding and documentation conventions, how tasks and signals work internally, how to configure a run, and how a release is cut.

Guidelines

Coding and documentation conventions, testing, logging, versioning and the branch model.

Contributing guidelines
Task structure

How an ExoSim task is built, run and logged.

The task structure
Custom tasks

Replace a default task with your own version of the same step.

Custom tasks
Signals

The Signal class, its derived classes and cached mode.

Signals
Run configuration

Shared settings: parallel processing, chunk size and the random seed.

Run configuration
Releasing

How a new version goes from a commit to a package on PyPI.

Releasing ExoSim 2