diff --git a/qiskit/providers/ibmq/runtime/program/program_template.py b/qiskit/providers/ibmq/runtime/program/program_template.py index e5c328e96..322df7585 100644 --- a/qiskit/providers/ibmq/runtime/program/program_template.py +++ b/qiskit/providers/ibmq/runtime/program/program_template.py @@ -19,6 +19,8 @@ send circuits to the backend and messages to the user, respectively. """ +from typing import Any + from qiskit.providers.ibmq.runtime import UserMessenger, ProgramBackend @@ -29,7 +31,7 @@ def program(backend: ProgramBackend, user_messenger: UserMessenger, **kwargs): return "final result" -def main(backend: ProgramBackend, user_messenger: UserMessenger, **kwargs): +def main(backend: ProgramBackend, user_messenger: UserMessenger, **kwargs) -> Any: """This is the main entry point of a runtime program. The name of this method must not change. It also must have ``backend`` @@ -39,8 +41,11 @@ def main(backend: ProgramBackend, user_messenger: UserMessenger, **kwargs): backend: Backend for the circuits to run on. user_messenger: Used to communicate with the program user. kwargs: User inputs. + + Returns: + The final result of the runtime program. """ # Massage the input if necessary. result = program(backend, user_messenger, **kwargs) - # UserMessenger can be used to publish final results. - user_messenger.publish(result, final=True) + # Final results can be directly returned + return result