Event Sourcing With Eliot

Eliot is a Python logging system that outputs a stream of JSON objects detailing causal chains of actions. Scientific computing is identified in its documentation as an ideal use case for this style of logging, in part because feedback cycles can be slow for such long-running processes where interactive step-debugging is inconvenient.

It seems that such logs would also be appropriate for event sourcing. Data derived from the logs could power dashboards for scheduling and monitoring workflow pipelines, as well as viewing processed workflow outputs, with eventual consistency that is good enough given the timescales involved in these long-running processes.