databento-python icon indicating copy to clipboard operation
databento-python copied to clipboard

core on rh 8.1

Open ekwf opened this issue 8 months ago • 2 comments

#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).

ekwf avatar Apr 15 '25 12:04 ekwf

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

nmacholl avatar Apr 15 '25 14:04 nmacholl

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)

ekwf avatar Apr 15 '25 15:04 ekwf

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.

nmacholl avatar Apr 29 '25 21:04 nmacholl