1414
1515import databento_dbn
1616import pandas as pd
17+ from databento_dbn import Compression
1718from databento_dbn import DBNRecord
1819from databento_dbn import Schema
1920from databento_dbn import SType
2021
2122from databento .common .constants import ALL_SYMBOLS
2223from databento .common .cram import BUCKET_ID_LENGTH
2324from databento .common .enums import ReconnectPolicy
25+ from databento .common .enums import SlowReaderBehavior
2426from databento .common .error import BentoError
2527from databento .common .parsing import optional_datetime_to_unix_nanoseconds
2628from databento .common .publishers import Dataset
@@ -63,6 +65,13 @@ class Live:
6365 The reconnect policy for the live session.
6466 - "none": the client will not reconnect (default)
6567 - "reconnect": the client will reconnect automatically
68+ slow_reader_behavior: SlowReadBehavior | str, optional
69+ The live gateway behavior when the client falls behind real time.
70+ - "skip": skip records to immediately catch up
71+ - "warn": send a slow reader warning `SystemMsg` but continue reading every record
72+ compression : Compression or str, default "none"
73+ The compression format for live data. Set to "zstd" for
74+ Zstandard-compressed data from the gateway.
6675
6776 """
6877
@@ -82,6 +91,8 @@ def __init__(
8291 ts_out : bool = False ,
8392 heartbeat_interval_s : int | None = None ,
8493 reconnect_policy : ReconnectPolicy | str = ReconnectPolicy .NONE ,
94+ slow_reader_behavior : SlowReaderBehavior | str | None = None ,
95+ compression : Compression = Compression .NONE ,
8596 ) -> None :
8697 if key is None :
8798 key = os .environ .get ("DATABENTO_API_KEY" )
@@ -99,6 +110,7 @@ def __init__(
99110
100111 self ._dataset : Dataset | str = ""
101112 self ._ts_out = ts_out
113+ self ._compression = compression
102114 self ._heartbeat_interval_s = heartbeat_interval_s
103115
104116 self ._metadata : SessionMetadata = SessionMetadata ()
@@ -112,6 +124,8 @@ def __init__(
112124 user_gateway = self ._gateway ,
113125 user_port = port ,
114126 reconnect_policy = reconnect_policy ,
127+ slow_reader_behavior = slow_reader_behavior ,
128+ compression = compression ,
115129 )
116130
117131 self ._session ._user_callbacks .append (ClientRecordCallback (self ._map_symbol ))
@@ -291,6 +305,18 @@ def ts_out(self) -> bool:
291305 """
292306 return self ._ts_out
293307
308+ @property
309+ def compression (self ) -> Compression :
310+ """
311+ Returns the compression mode for this live client.
312+
313+ Returns
314+ -------
315+ Compression
316+
317+ """
318+ return self ._compression
319+
294320 def add_callback (
295321 self ,
296322 record_callback : RecordCallback ,
0 commit comments