refinitiv-data failing on cookbook

Unable to run a simple test script on cookbook:

  1. Environment: LSEG Workspace Codebook.
  2. Library: refinitiv-data
  3. Library Version: 1.6.1 (as confirmed by rd.__version__)
  4. Python Version: Python 3.8 (from the traceback /opt/conda/lib/python3.8/)
  5. Problem Description: The standard session management functions like rd.is_session_open(), rd.open_session(), and rd.close_session() are not accessible and result in AttributeError: No refinitiv.data attribute <function_name>. This prevents the creation of a session, which is a prerequisite for data retrieval functions like rd.get_history().
  6. Minimal Reproducible Example:

import refinitiv.data as rd

import traceback

print(f"Using refinitiv.data version: {rd.__version__ if hasattr(rd, '__version__') else 'unknown'}")

try:

    print("Attempting to check session status...")

    status = rd.is_session_open()

    print(f"Session status: {status}")

except AttributeError as ae:

    print(f"AttributeError: {ae}")

    traceback.print_exc()

except Exception as e:

    print(f"Other Exception: {e}")

    traceback.print_exc()

try:

    print("\nAttempting to open a session...")

    rd.open_session() # Default for Codebook

    print("rd.open_session() called.")

    if rd.is_session_open(): # This will also fail if open_session didn't make is_session_open available

         print("Session appears to be open.")

         rd.close_session()

         print("Session closed.")

    else:

        print("Session does not appear to be open after calling open_session.")

except AttributeError as ae:

    print(f"AttributeError: {ae}")

    traceback.print_exc()

except Exception as e:

    print(f"Other Exception during open_session: {e}")

    traceback.print_exc()

This returns:

Using refinitiv.data version: 1.6.1

Attempting to check session status...

AttributeError: No refinitiv.data attribute is_session_open

Attempting to open a session...

Traceback (most recent call last):

  File "/tmp/ipykernel_73/1808826097.py", line 8, in <module>

    status = rd.is_session_open()

  File "/opt/conda/lib/python3.8/site-packages/refinitiv/data/_tools/_lazy_loader.py", line 90, in __getattr__

    raise AttributeError(f"No {package_name} attribute {name}")

AttributeError: No refinitiv.data attribute is_session_open

Answers

  • Hello @Boris_Lastdrager

    The session object does not have a method called is_session_open(). You can check session state by using the open_state property of session object.

    Also, please use the newer LD Library instead of the RD Library.