LSEG Data Library for Python

get_stream

The get_stream function returns the data stream from the Delivery Platform (formerly Refinitiv Data Platform), defined in the omm_stream.Definition object.

Module

lseg.data.delivery.omm_stream

Syntax

get_stream(session)

Parameters

Value Description Data type Optional Default value
session Session object. If it is not passed, the default session will be used. Session object Yes None

Returned value

OMMStream instance

Usage

The following example demonstrates how to retrieve the streaming data from a previously defined OMM stream in the "MarketPrice" domain, for the "BID", "ASK", "OPEN_PRC", "HST_CLOSE", and "TIMACT" fields of the EUR instrument:

import json
import datetime
from lseg.data.delivery import omm_stream


# define callback function to catch the messages from stream.
def display_event(eventType, event):
    currentTime = datetime.datetime.now().time()
    print("----------------------------------------------------------")
    print(">>> {} event received at {}".format(eventType, currentTime))
    print(json.dumps(event, indent=2))

stream = omm_stream.Definition(
        name="EUR=",
        fields=['BID', 'ASK', 'OPEN_PRC', 'HST_CLOSE', 'TIMACT'],
).get_stream()

# Refresh - the first full image we get back from the server
stream.on_refresh(lambda event, item_stream: display_event("Refresh", event))

stream.open()

stream.close()

This example produces the following output:

Response

Refresh event received at 09:47:43.899616
{
"ID": 5,
"Type": "Refresh",
"Key": {
"Service": "IDN_RDFNTS_CF",
"Name": "EUR="
},
"State": {
"Stream": "Open",
"Data": "Ok",
"Text": "New Session Mounted"
},
"Qos": {
"Timeliness": "Realtime",
"Rate": "JitConflated"
},
"PermData": "AwD+Umw=",
"SeqNumber": 31854,
"Fields": {
"BID": 1.0682,
"ASK": 1.0686,
"OPEN_PRC": 1.0678,
"HST_CLOSE": 1.0675,
"TIMACT": "07:47:00"
}
}

None.

290 words (1:32 mins)