Programmatically reading rd.get_data errors

Hi Community,

I have a Refinitiv Workspace account and am using the Refinitiv Data Platform API in Python on Windows to resolve a list of CUSIPs and tickers to their RICs as follows:

import refinitiv.data as rd
rd.open_session()
my_tickers = ['AAPL', 'ENPH', 'PROPTC (']
df = rd.get_data(my_tickers,['TR.RIC'])
rd.close_session()

When I run the above, I get a blank dataframe. When I refer to the log files as to why a blank dataframe was returned, I see the following HTTP Response:

[2023-03-28T10:30:47.393815-04:00] - [sessions.platform.rdp.1] - [DEBUG] - [37232 - MainThread] - [http_service] - [request] - HTTP Response id 5

status_code = 200

text = {"error":{"code":604,"description":"The '(' delimiter is unexpected in identifiers."}}

The error makes sense because the ticker "PROPTC (" had an invalid character. How may I access this "error" programmatically rather than reading the log files manually? The older Eikon API's get_data() returns two dataframes with the second one being a list of errors. Does RDP's get_data() have a similar feature?

Thanks

Best Answer

  • Hi @cpowr,

    You can ask for debugging messages live in your ipynb document via the 'refinitiv-data.config.json' configuration file, setting `console` to true:

    1680022481384.png

    I point to it when opening rd sessions as such:

    rd.open_session(config_name="C:\\Example.DataLibrary.Python-main\\Example.DataLibrary.Python-main\\Configuration\\refinitiv-data.config.json")
    rd.open_session("desktop.workspace")

Answers

  • That did it, thanks. What if I want to run the above in a Python script and capture the console contents? Would I use the logging library or is there an easier way?

  • Hi @cpowr, You can use the log file if you want to capture all debug outputs. in the same fine, you can set the 'file' parameter 'enabled' to true.
    If you want both the input and output recorded, then I'd advise leaving the 'console' parameter's 'enabled' to true and using the ipynb file itself as your record, since it will have all (input, debug messages and output) included.

  • I was thinking the same, thanks
    @jonathan.legrand