finos / finos/symphony-bdk-python

Add GENERICSYSTEMEVENT support to RealTimeEventListener and RealTimeEvent enum

Open
#383 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
37
Forks
44
Avg merge
1d 2h
Merged PRs (30d)
11

Description

## Problem

The Symphony Agent API delivers `GENERICSYSTEMEVENT` events via the datahose
(POST /agent/v5/events/read with `"eventTypes": ["GENERICSYSTEMEVENT"]`), but
BDK Python 2.11.2 silently drops them:

INFO - ...abstract_datafeed_loop - Received event with an unknown type: GENERICSYSTEMEVENT

## Root cause

`GENERICSYSTEMEVENT` is absent from the `RealTimeEvent` enum in
`abstract_datafeed_loop.py`, so `_run_listener_method` raises a `KeyError` and
returns without dispatching. Additionally, `on_generic_system_event` is missing
from `RealTimeEventListener`, leaving no interface for bot developers to
implement.

The generated model `V4GenericSystemEvent` and the `V4Payload.generic_system_event`
field already exist — only the two hand-maintained dispatch files need updating.

## Proposed fix

1. Add `GENERICSYSTEMEVENT = ("on_generic_system_event", "generic_system_event")`
to the `RealTimeEvent` enum.
2. Add `async def on_generic_system_event(self, initiator, event)` no-op to
`RealTimeEventListener`.

Total change: 2 files, ~15 lines (with comments)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.