core on rh 8.1
#0 __memmove_evex_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:520 #1 0x00007f46b48d7a7e in dbn::compat::decode_record_ref () from /home/user/.local/lib/python3.8/site-packages/databento_dbn/_lib.cpython-38-x86_64-linux-gnu.so #2 0x00007f46b485453c in dbn::decode::dbn::sync::RecordDecoder<R>::decode_ref () from /home/user/.local/lib/python3.8/site-packages/databento_dbn/_lib.cpython-38-x86_64-linux-gnu.so #3 0x00007f46b485b502 in databento_dbn::dbn_decoder::DbnDecoder::decode () from /home/user/.local/lib/python3.8/site-packages/databento_dbn/_lib.cpython-38-x86_64-linux-gnu.so #4 0x00007f46b485e77f in databento_dbn::dbn_decoder::DbnDecoder::pymethod_decode () from /home/user/.local/lib/python3.8/site-packages/databento_dbn/lib.cpython-38-x86_64-linux-gnu.so #5 0x00007f46b485afa9 in pyo3::impl::trampoline::trampoline () from /home/user/.local/lib/python3.8/site-packages/databento_dbn/_lib.cpython-38-x86_64-linux-gnu.so
I realize the minimum python specified is 3.9 and so this is likely related to running under 3.8 (have to for various reason).
Hey there,
If you can share the actual error you encountered, as well as a minimally reproducible example, we can perhaps help. You are correct that Python 3.8 is not supported, this version of Python is past end of life and won't receive any more updates (even security updates).
I suspect the problem is that you are being forced to use a very old version of the library and databento_dbn which is not something we will fix to be compatible with the current API. It is recommended to use the latest library versions to ensure compatibility.
Cheers, Nick
Makes sense. I agree re python version, it's an imposed limitation. For what it's worth this is the code that was running with 5 tickers:
async def main():
app_cfg = json.load(args.config)
logging.debug(app_cfg)
cli = db.Live(ts_out=True,heartbeat_interval_s=30,reconnect_policy="reconnect")
cli.subscribe(dataset="EQUS.MINI",schema="mbp-1",stype_in='raw_symbol',symbols=app_cfg['tickers'])
cli.add_stream(args.output)
signal(SIGINT, lambda signal, frame: signal_handler(signal, frame, cli))
async for record in cli:
if not run:
break
process(record)
Hey @ekwf I am going to close this issue because this isn't a supported configuration. If you feel there is more here to discuss, let me know. For what it is worth, your code is functional in the latest version of the library.