I run the following code in codebook and it’s fine:
import refinitiv.data as rd
from refinitiv.data.content import pricing
contract = 'CL'
rd.open_session()
ice_oil = ['LCO', 'LGO']
chain = pricing.chain.Definition(name=f"0#/{contract}:").get_stream()
chain.open(with_updates=False)
chain.close()
if contract in ice_oil:
tkrs = list(chain.constituents[1:13])
else:
tkrs = list(chain.constituents[:12])
print(tkrs)
rd.close_session()
and get the following response:
['/CLH25', '/CLJ25', '/CLK25', '/CLM25', '/CLN25', '/CLQ25', '/CLU25', '/CLV25', '/CLX25', '/CLZ25', '/CLF26', '/CLG26']
which is as expected.
However, when I run this from pycharm IDE, I get the following error:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2024.3\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode
coro = func()
^^^^^^
File "<input>", line 5, in <module>
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_basestream.py", line 72, in open
self._stream.open(with_updates=with_updates)
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_basestream.py", line 166, in open
return self.state.open(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\states\_basestream_states.py", line 51, in open
return self.stream.do_open(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_basestream.py", line 183, in do_open
self._do_open(*args, **kwargs)
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\content\pricing\chain\_stream.py", line 230, in _do_open
self.add(name).open(with_updates=with_updates)
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_basestream.py", line 166, in open
return self.state.open(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\states\_basestream_states.py", line 51, in open
return self.stream.do_open(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_basestream.py", line 183, in do_open
self._do_open(*args, **kwargs)
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_omm_stream.py", line 317, in _do_open
super()._do_open(*args, **kwargs)
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_stream.py", line 79, in _do_open
self.cxn = stream_cxn_cache.get_cxn(self.session, self.details)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\je\.venv\Lib\site-packages\refinitiv\data\delivery\_stream\_stream_cxn_cache.py", line 127, in get_cxn
raise ConnectionError(f"Cannot prepare connection {cxn}")
ConnectionError: Cannot prepare connection OMMStreamConnection
name : ThreadOMMSTREAMING_CHAINS_0.1
state : StreamCxnState.Disposed
subprotocol : tr_json2
is_auto_reconnect: True
can_reconnect : False
num_attempt : 0
What is strange is that if I call the following in pycharm, it works fine. I know it’s a different query but it’s still using Refinitiv.data.content library:
import refinitiv.data as rd
from refinitiv.data.content import historical_pricing
from refinitiv.data.content.historical_pricing import Intervals
rd.open_session()
response = historical_pricing.summaries.Definition(universe= ['1067651MLNG', '1067651MSHT', '1067651RLNG', '1067651RSHT'],
interval=Intervals.DAILY,
count=4,fields=["TRDPRC_1"]).get_data()
cot_df = response.data.df
Has anyone experienced this connection error when running calls from a third party app please?
is there a particular endpoint for this library that would need to be configured for firewalls maybe?