Skip to content

eventum-generator/eventum

Repository files navigation

Eventum

Eventum

Data generation platform

CI Coverage PyPI Python Docker Downloads License

Documentation  ·  Tutorials  ·  API Reference  ·  Changelog  ·  Task tracker  ·  Discuss


Eventum produces synthetic events and delivers them anywhere — in real time or in batch. Generate a continuous stream of logs for your SIEM, seed a staging database with realistic data, or stress-test a pipeline with high-throughput traffic. Define everything in YAML, no code required.

Input → Event → Output pipeline

Eventum Studio — event debugger

Highlights

  • Realistic data — Jinja2 templates with Faker and Mimesis generate believable names, IPs, timestamps, and domain-specific values
  • Flexible scheduling — cron expressions, fixed intervals, or statistical time patterns that mimic real-world traffic curves
  • Multiple destinations — fan-out to stdout, files, ClickHouse, OpenSearch, or any HTTP endpoint simultaneously
  • Two modes — stream events in real time at their scheduled timestamps, or generate everything as fast as possible
  • Built-in web UIEventum Studio for visual editing, event preview, and monitoring
  • REST API — start, stop, and manage generators programmatically
  • Encrypted secrets — credentials stored securely via an encrypted keyring
  • Docker ready — multi-stage builds, runs anywhere

Quick start

Install

pip install eventum-generator

Also available via uv (uv tool install eventum-generator) or Docker (docker pull rnv812/eventum-generator).

Create a templateevents.jinja

{{ timestamp }} INFO  user={{ module.faker.locale.en.user_name() }} action=login ip={{ module.faker.locale.en.ipv4() }}

Create a configgenerator.yml

input:
  - cron:
      expression: "* * * * * *"
      count: 1

event:
  template:
    mode: all
    templates:
      - my_event:
          template: events.jinja

output:
  - stdout: {}

Run

eventum generate --path generator.yml --live-mode
2026-02-23 12:00:01+00:00 INFO  user=jsmith action=login ip=192.168.44.12
2026-02-23 12:00:02+00:00 INFO  user=amiller action=login ip=10.0.128.55
2026-02-23 12:00:03+00:00 INFO  user=kwilson action=login ip=172.16.0.91

Plugins

Each part of the pipeline is a plugin. Swap, combine, or extend — change the schedule without touching templates, add new outputs without modifying anything else. See the plugin reference for the full list.

Application mode

Run multiple generators with a web UI and REST API:

eventum run -c eventum.yml

Starts on port 9474 with Eventum Studio (web UI), REST API, and multi-generator orchestration — each generator runs independently with its own schedule, templates, and outputs.

Documentation

Full documentation at eventum.run:

Activity

Repobeats analytics image

Star History Chart

License

Apache License 2.0