LM SDK API v3 - get_device_list not responding
Hello,
My script that was running without issue yesterday now just indefinitely hangs, if i interrupt it it looks like it just times out
code:
import logicmonitor_sdk
from logicmonitor_sdk.rest import ApiException
import json
import sys
from pprint import pprint
from rich.console import Console
import time
company = 'company'
id = 'abc'
token = 'lma_'
configuration = logicmonitor_sdk.Configuration()
configuration.company = company
configuration.access_id = id
configuration.access_key = token
lm = logicmonitor_sdk.LMApi(logicmonitor_sdk.ApiClient(configuration))
def get_devices():
try:
devices = []
end_found = False
offset = 0
size = 100
while not end_found:
current = lm.get_device_list(size=size, start=offset).items
devices += current
offset += len(current)
end_found = len(current) != size
pprint(devices)
return devices
except ApiException as e:
print('Exception Caught: %s\n' % e)
Traceback:
^CTraceback (most recent call last):
File "/Users/lee/dev/logic_monitor/test.py", line 155, in <module>
get_devices()
~~~~~~~~~~~^^
File "/Users/lee/dev/logic_monitor/test.py", line 28, in get_devices
current = lm.get_device_list(size=size, start=offset).items
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/logicmonitor_sdk/api/lm_api.py", line 16986, in get_device_list
(data) = self.get_device_list_with_http_info(**kwargs) # noqa: E501
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/logicmonitor_sdk/api/lm_api.py", line 17070, in get_device_list_with_http_info
return self.api_client.call_api(
~~~~~~~~~~~~~~~~~~~~~~~~^
'/device/devices', 'GET',
^^^^^^^^^^^^^^^^^^^^^^^^^
...<11 lines>...
_request_timeout=params.get('_request_timeout'),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
collection_formats=collection_formats)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/logicmonitor_sdk/api_client.py", line 333, in call_api
return self.__call_api(resource_path, method,
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
path_params, query_params, header_params,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
_return_http_data_only, collection_formats,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_preload_content, _request_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/logicmonitor_sdk/api_client.py", line 162, in __call_api
response_data = self.request(
method, url, query_params=query_params, headers=header_params,
post_params=post_params, body=body,
_preload_content=_preload_content,
_request_timeout=_request_timeout)
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/logicmonitor_sdk/api_client.py", line 355, in request
return self.rest_client.GET(url,
~~~~~~~~~~~~~~~~~~~~^^^^^
query_params=query_params,
^^^^^^^^^^^^^^^^^^^^^^^^^^
_preload_content=_preload_content,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_request_timeout=_request_timeout,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
headers=headers)
^^^^^^^^^^^^^^^^
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/logicmonitor_sdk/rest.py", line 231, in GET
return self.request("GET", url,
~~~~~~~~~~~~^^^^^^^^^^^^
headers=headers,
^^^^^^^^^^^^^^^^
_preload_content=_preload_content,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_request_timeout=_request_timeout,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
query_params=query_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/logicmonitor_sdk/rest.py", line 206, in request
r = self.pool_manager.request(method, url,
fields=query_params,
preload_content=_preload_content,
timeout=timeout,
headers=headers)
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/urllib3/_request_methods.py", line 135, in request
return self.request_encode_url(
~~~~~~~~~~~~~~~~~~~~~~~^
method,
^^^^^^^
...<3 lines>...
**urlopen_kw,
^^^^^^^^^^^^^
)
^
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/urllib3/_request_methods.py", line 182, in request_encode_url
return self.urlopen(method, url, **extra_kw)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/urllib3/poolmanager.py", line 443, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen
response = self._make_request(
conn,
...<10 lines>...
**response_kw,
)
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/urllib3/connectionpool.py", line 534, in _make_request
response = conn.getresponse()
File "/Users/lee/dev/logic_monitor/venv/lib/python3.13/site-packages/urllib3/connection.py", line 516, in getresponse
httplib_response = super().getresponse()
File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line 1428, in getresponse
response.begin()
~~~~~~~~~~~~~~^^
File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line 331, in begin
version, status, reason = self._read_status()
~~~~~~~~~~~~~~~~~^^
File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/http/client.py", line 292, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/socket.py", line 719, in readinto
return self._sock.recv_into(b)
~~~~~~~~~~~~~~~~~~~~^^^
File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line 1304, in recv_into
return self.read(nbytes, buffer)
~~~~~~~~~^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.13/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line 1138, in read
return self._sslobj.read(len, buffer)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyboardInterrupt
If i call another endpoint say get_alert_list, i have no issues and get a response.