I am getting Session not opened error while using refinitiv.data

I am trying to pull some reference data using refinitiv.data via python code but getting Errors: ValueError: Session is not opened. Can't send any request. Can you please help.

Code:

import refinitiv.data as rd
from refinitiv.data.content import fundamental_and_reference

platform_session = rd.session.platform.Definition(
    app_key="XXXXX",
    grant=rd.session.platform.GrantPassword(
        username="XXX",
        password="XXX"
    ),
    signon_control=True   # this will avoid failed token request if you run multiple time you code without closing the session
    ).get_session()
    
rd.session.set_default(platform_session)
rd.open_session()
response = fundamental_and_reference.Definition(
    ["TRI.N", "IBM.N"],
    ["TR.Revenue", "TR.GrossProfit"]
    ).get_data()
    
print(response.data.df)
rd.close_session()

Errors:

An error occurred while requesting URL('http://localhost:9001/api/status').
ConnectError('[WinError 10061] No connection could be made because the target machine actively refused it')
An error occurred while requesting URL('http://localhost:9000/api/status').
RemoteProtocolError('Server disconnected without sending a response.')
An error occurred while requesting URL('http://localhost:9060/api/status').
ConnectError('[WinError 10061] No connection could be made because the target machine actively refused it')
Error: no proxy address identified.
Check if Desktop is running.

ValueError: Session is not opened. Can't send any request

Welcome!

It looks like you're new here. Sign in or register to get started.

Answers

  • This content has been removed.
  • Hello @NaveenS

    I can replicate the same issue with both Data Library version 1 (refinitiv-data) and Data library version 2 (lseg-data) .

    It seems the code needs the Session object as follows:

    import os
    from dotenv import dotenv_values
    import lseg.data as ld
    from lseg.data import session
    from lseg.data.content import fundamental_and_reference

    config = dotenv_values(".env")

    if __name__=='__main__':
    try:
    session = ld.session.platform.Definition(
    app_key = config['APP-KEY'],
    grant = ld.session.platform.GrantPassword(
    username = config['USERNAME'],
    password = config['PASSWORD']
    ),
    signon_control=True
    ).get_session()
    session.open()
    print(f'Session Status: {session.open_state}')
    if str(session.open_state) == 'OpenState.Opened':
    ld.session.set_default(session)
    response = fundamental_and_reference.Definition(
    universe= ["TRI.N", "IBM.N"],
    fields=["TR.Revenue", "TR.GrossProfit"]
    ).get_data()
    print(response.data.df)
    except Exception as exp:
    print(f'Exception {exp}')
    finally:
    ld.close_session()
    image.png
  • https://community.developers.refinitiv.com/discussion/comment/124224#Comment_124224

    Hi, I have the follow error when trying the following code

    import refinitiv.data as rd
    rd.get_config()["http.request-timeout"] = 300
    rd.open_session()

    An error occurred while requesting URL('http://localhost:9060/api/handshake').RemoteProtocolError('Server disconnected without sending a response.')Error on handshake url http://localhost:9060/api/handshake : RemoteProtocolError('Server disconnected without sending a response.')

    Any help to overcome the problem is appreciated!

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.