diff --git a/qiskit_ibm/api/clients/runtime.py b/qiskit_ibm/api/clients/runtime.py index 4156c4999..3de726fac 100644 --- a/qiskit_ibm/api/clients/runtime.py +++ b/qiskit_ibm/api/clients/runtime.py @@ -13,7 +13,7 @@ """Client for accessing IBM Quantum runtime service.""" import logging -from typing import List, Dict, Union, Optional +from typing import Any, List, Dict, Union, Optional from qiskit_ibm.credentials import Credentials from qiskit_ibm.api.session import RetrySession @@ -39,7 +39,7 @@ def __init__( **credentials.connection_parameters()) self.api = Runtime(self._session) - def list_programs(self) -> List[Dict]: + def list_programs(self) -> Dict[str, Any]: """Return a list of runtime programs. Returns: diff --git a/qiskit_ibm/api/rest/runtime.py b/qiskit_ibm/api/rest/runtime.py index e8252ee0b..0904fa6ac 100644 --- a/qiskit_ibm/api/rest/runtime.py +++ b/qiskit_ibm/api/rest/runtime.py @@ -54,7 +54,7 @@ def program_job(self, job_id: str) -> 'ProgramJob': """ return ProgramJob(self.session, job_id) - def list_programs(self) -> List[Dict]: + def list_programs(self) -> Dict[str, Any]: """Return a list of runtime programs. Returns: diff --git a/qiskit_ibm/runtime/ibm_runtime_service.py b/qiskit_ibm/runtime/ibm_runtime_service.py index 5d10f1d0e..b32398419 100644 --- a/qiskit_ibm/runtime/ibm_runtime_service.py +++ b/qiskit_ibm/runtime/ibm_runtime_service.py @@ -139,7 +139,7 @@ def programs(self, refresh: bool = False) -> List[RuntimeProgram]: if not self._programs or refresh: self._programs = {} response = self._api_client.list_programs() - for prog_dict in response: + for prog_dict in response.get("programs", []): program = self._to_program(prog_dict) self._programs[program.program_id] = program return list(self._programs.values()) diff --git a/test/ibm/runtime/fake_runtime_client.py b/test/ibm/runtime/fake_runtime_client.py index 6711d5ee7..6e58fef92 100644 --- a/test/ibm/runtime/fake_runtime_client.py +++ b/test/ibm/runtime/fake_runtime_client.py @@ -235,7 +235,7 @@ def list_programs(self): programs = [] for prog in self._programs.values(): programs.append(prog.to_dict()) - return programs + return {"programs": programs} def program_create(self, program_data, name, description, max_execution_time, version="1.0", backend_requirements=None, parameters=None, return_values=None,