Getting started
Learn how Eventum works and generate your first events in minutes.
A data generation platform that produces synthetic events and delivers them anywhere — in real time or in batch. Describe what your data looks like and when it should appear, Eventum takes care of the rest.
⚡ Why Eventum
Building and testing data-driven systems usually means waiting for real data to accumulate or writing throwaway scripts. Eventum gives you a declarative way to generate realistic data on demand.
🔧 How it works
Every generator runs a three-stage pipeline. You describe each stage in YAML — no code required.
Swap any part independently: change the schedule without touching the template, or add a new output without modifying anything else.
🚀 Quick example
Create a template
Templates use Jinja2 syntax with built-in modules like faker for realistic data. Each render receives a timestamp variable.
{{ timestamp }} INFO user={{ module.faker.locale.en.user_name() }} action=login ip={{ module.faker.locale.en.ipv4() }}Create a generator config
Wire the three pipeline stages together — cron input firing every second, template event plugin, and stdout output.
input:
- cron:
expression: "* * * * * *"
count: 1
event:
template:
mode: all
templates:
- my_event:
template: events.jinja
output:
- stdout: {}Run the generator
eventum generate --path generator.yml --live-modeEvents start printing at one per second:
2025-06-15 12:00:01+00:00 INFO user=jsmith action=login ip=192.168.44.12
2025-06-15 12:00:02+00:00 INFO user=amiller action=login ip=10.0.128.55
2025-06-15 12:00:03+00:00 INFO user=kwilson action=login ip=172.16.0.91This example runs a single generator from the command line. To run multiple generators
with a server, API, and web UI, see the eventum run command.