Authenticating with a configuration file¶
By default, the Refinitiv Data Library for Python expects you to provide credentials in a configuration file named refinitiv-data.config.json
.
At minimum, it must include your application key, as well as the username and password you use to access the Refinitiv web portal.
Start by copying and pasting the following snippet into a file named refinitiv-data.config.json
. Replace the placeholder values with your credentials.
{
"sessions": {
"default": "platform.rdp",
"platform": {
"rdp": {
"app-key": "YOUR APP KEY GOES HERE!",
"username": "YOUR RDP LOGIN OR MACHINE GOES HERE!",
"password": "YOUR RDP PASSWORD GOES HERE!"
}
}
}
}
Note
A fuller example of all the configuration options available can be found in Refinitiv’s official documentation.
Unless you provide further instruction your Python script will expect the configuration file to be located in the same directory as the script you are running. Once the file is in place, you can import the library and open a session by running the following code:
import refinitiv.data as rd
rd.open_session()
/home/runner/.local/share/virtualenvs/refinitiv-data-python-cookbook-I-HIyNf4/lib/python3.10/site-packages/refinitiv/data/_access_layer/session.py:71:FutureWarning:
You open a platform session using the default value of the signon_control parameter (signon_control=True).
In future library version v2.0, this default will be changed to False.
If you want to keep the same behavior as today, you will need to set the signon_control parameter to True either in the library configuration file
({'sessions':{'platform':{'your_session_name':{'signon_control':true}}}}) or in your code where you create the Platform Session.
These alternative options are already supported in the current version of the library.
<refinitiv.data.session.Definition object at 0x7f9c88da97e0 {name='rdp'}>
Verify the session is open by executing a query for the current price of Thomson Reuters stock. You should back a table of data.
rd.get_history('TRI.N')
/home/runner/.local/share/virtualenvs/refinitiv-data-python-cookbook-I-HIyNf4/lib/python3.10/site-packages/refinitiv/data/_tools/_dataframe.py:177:FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
TRI.N | TRDPRC_1 | HIGH_1 | LOW_1 | ACVOL_UNS | OPEN_PRC | BID | ASK | TRNOVR_UNS | VWAP | BLKCOUNT | BLKVOLUM | NUM_MOVES | TRD_STATUS | SALTIM |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Date | ||||||||||||||
2024-07-03 | 168.4 | 170.29 | 168.4 | 55852 | 168.4 | 168.4 | 168.5 | 9439595 | 169.0109 | <NA> | <NA> | 955 | 1 | 75600 |
2024-07-05 | 169.22 | 169.7 | 167.58 | 88376 | 169.7 | 169.12 | 169.13 | 14913500 | 168.7506 | 1 | 18545 | 1108 | 1 | 72600 |
2024-07-08 | 167.87 | 169.58 | 166.91 | 83826 | 169.58 | 167.87 | 167.97 | 14066352 | 167.8042 | 1 | 16245 | 1113 | 1 | 72600 |
2024-07-09 | 167.02 | 168.78 | 166.9 | 82874 | 168.01 | 167.07 | 167.12 | 13865832 | 167.3122 | 1 | 18381 | 1033 | 1 | 72600 |
2024-07-10 | 167.69 | 167.99 | 166.94 | 97018 | 167.07 | 167.58 | 167.69 | 16262454 | 167.6231 | 1 | 13290 | 1432 | 1 | 72600 |
2024-07-11 | 165.16 | 169.58 | 164.74 | 147061 | 168.0 | 165.05 | 165.16 | 24358644 | 165.6363 | 1 | 42893 | 1639 | 1 | 72600 |
2024-07-12 | 165.06 | 166.17 | 165.05 | 100635 | 166.09 | 165.06 | 165.13 | 16643040 | 165.3802 | 1 | 21061 | 1444 | 1 | 72600 |
2024-07-15 | 164.02 | 165.9 | 163.56 | 75929 | 165.52 | 164.01 | 164.02 | 12466755 | 164.1896 | 1 | 21484 | 1198 | 1 | 72600 |
2024-07-16 | 165.0 | 165.32 | 163.87 | 133537 | 164.59 | 164.96 | 165.0 | 21987432 | 164.6542 | 1 | 29172 | 1387 | 1 | 72600 |
2024-07-17 | 164.01 | 164.22 | 162.89 | 334264 | 164.13 | 163.98 | 163.99 | 54746815 | 163.7832 | 1 | 47958 | 3205 | 1 | 72600 |
2024-07-18 | 163.1 | 164.15 | 161.49 | 184118 | 164.05 | 163.08 | 163.09 | 30007919 | 162.982 | 1 | 39705 | 1896 | 1 | 72600 |
2024-07-19 | 162.66 | 163.9 | 162.15 | 122164 | 163.31 | 162.63 | 162.73 | 19904438 | 162.9321 | 1 | 37538 | 1351 | 1 | 72600 |
2024-07-22 | 165.66 | 165.78 | 163.59 | 82251 | 163.59 | 165.59 | 165.64 | 13594002 | 165.2746 | 1 | 17538 | 1019 | 1 | 72600 |
2024-07-23 | 165.0 | 166.36 | 165.0 | 65563 | 165.8 | 165.0 | 165.06 | 10846048 | 165.4294 | 1 | 22516 | 925 | 1 | 72600 |
2024-07-24 | 163.5 | 164.56 | 162.57 | 127207 | 164.56 | 163.46 | 163.51 | 20791111 | 163.4431 | 1 | 40941 | 1308 | 1 | 72600 |
2024-07-25 | 162.34 | 164.49 | 162.29 | 100268 | 163.88 | 162.27 | 162.29 | 16343208 | 162.9953 | 1 | 20387 | 1339 | 1 | 72600 |
2024-07-26 | 161.7 | 163.32 | 161.16 | 131102 | 163.32 | 161.7 | 161.71 | 21210983 | 161.7899 | 1 | 36146 | 1612 | 1 | 72600 |
2024-07-29 | 162.09 | 162.39 | 160.785 | 181295 | 161.95 | 162.06 | 162.13 | 29312487 | 161.6839 | 1 | 31594 | 2188 | 1 | 72600 |
2024-07-30 | 160.63 | 162.99 | 160.11 | 117846 | 162.35 | 160.62 | 160.63 | 18962368 | 160.908 | 1 | 27198 | 1548 | 1 | 72600 |
2024-07-31 | 161.92 | 162.71 | 160.42 | 115334 | 161.58 | 161.9 | 162.03 | 18681567 | 161.978 | 1 | 35134 | 1466 | 1 | 72600 |
The library expects you to close your session when you’re finished. You can do so by running the following code:
rd.close_session()
Specifying a configuration file¶
If you want to store your configuration file in a different location, you can specify its path when you open a session.
For example, if you gave your configuration file with a shorter name and stored it in a subdirectory named config
, you could open a session by running something like the following:
rd.open_session(config_name="./config/refinitiv.json")