Skip to main contentIBM Quantum Documentation
Qiskit IBM Provider is deprecated. See the migration guide to use Qiskit Runtime.

Session

class Session(max_time=None, session_id=None)

GitHub(opens in a new tab)

Class for creating a flexible Qiskit Runtime session.

A Qiskit Runtime session allows you to group a collection of iterative calls to the quantum computer. A session is started when the first job within the session is started. Subsequent jobs within the session are prioritized by the scheduler. Data used within a session, such as transpiled circuits, is also cached to avoid unnecessary overhead.

You can open a Qiskit Runtime session using this Session class and submit one or more jobs.

For example::

from qiskit_ibm_provider import IBMProvider

# Bell Circuit qr = QuantumRegister(2, name=”qr”) cr = ClassicalRegister(2, name=”cr”) qc = QuantumCircuit(qr, cr, name=”bell”) qc.h(qr[0]) qc.cx(qr[0], qr[1]) qc.measure(qr, cr)

backend = IBMProvider().get_backend(“ibmq_qasm_simulator”) backend.open_session()

job = backend.run(qc) print(f”Job ID: {job.job_id()}”) print(f”Result: {job.result()}”) # Close the session only if all jobs are finished and # you don’t need to run more in the session. backend.cancel_session()

Session can also be used as a context manager:

with backend.open_session() as session:
    job = backend.run(qc)
    assert job.job_id() == session.session_id

Session constructor.

Parameters

max_time (Union[int, str, None]) – (EXPERIMENTAL setting, can break between releases without warning) Maximum amount of time, a runtime session can be open before being forcibly closed. Can be specified as seconds (int) or a string like “2h 30m 40s”. This value must be in between 300 seconds and the system imposed maximum.

Raises

ValueError – If an input value is invalid.


Attributes

active

Return the status of the session.

Return type

bool

Returns

True if the session is active, False otherwise.

session_id

Return the session ID.

Return type

str

Returns

Session ID. None until a job runs in the session.


Methods

cancel

cancel()

GitHub(opens in a new tab)

Set the session._active status to False

Return type

None

Was this page helpful?
Report a bug or request content on GitHub.