Datastream Web Service Python: TypeError: DataClient.post_user_request() takes from 2 to 7 positiona

OS: Ubuntu

Python version: 3.10.12

DatastreamPy version: 2.0.25

I am trying to switch to DatastreamPY from DatastreamDSWS. However, when I run codes by using DatastreamPy, error messages always show up as follows:

[Code]

import os

import pandas as pd
import DatastreamPy as dsweb

uid = os.getenv('LSEG_DS_USERID')
pwd = os.getenv('LSEG_DS_PASSWORD')

ds = dsweb.DataClient(None, uid, pwd)

data = ds.get_data(tickers='VOD', fields='P', kind=0)
print (data)

[Error messages]

Traceback (most recent call last):

File "/path/to/python/code/datastream_tmp.py", line 11, in <module>

data = ds.get_data(tickers='VOD', fields='P', kind=0)

File "/path/to/lib/python3.10/site-packages/DatastreamPy/DS_Response.py", line 276, in get_data

raise exp

File "/path/to/lib/python3.10/site-packages/DatastreamPy/DS_Response.py", line 254, in get_data

req, retName = self.post_user_request(tickers, fields, start, end, freq, kind, retName)

TypeError: DataClient.post_user_request() takes from 2 to 7 positional arguments but 8 were given


I believe the number of arguments is 3, not 8. When using DatastreamDSWS, this kind of error has never occurred. How can I resolve this issue?


Best Answer

  • Jirapongse
    Answer ✓

    @tomokuni.higano01

    Thank you for reaching out to us.

    I can replicate this issue. I will report it to the product team.

    For now, please try to use DatastreamPy==2.0.21 instead.

Answers