Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

IBMQBackendService

IBMQBackendService(provider) GitHub(opens in a new tab)

Backend namespace for an IBM Quantum Experience account provider.

Represent a namespace that provides backend related services for the IBM Quantum Experience backends available to this provider. An instance of this class is used as a callable attribute to the AccountProvider class. This allows a convenient way to query for all backends or to access a specific backend:

backends = provider.backends()  # Invoke backends() to get the backends.
sim_backend = provider.backends.ibmq_qasm_simulator  # Get a specific backend instance.

Also, you are able to retrieve jobs from a provider without specifying the backend name. For example, to retrieve the ten most recent jobs you have submitted, regardless of the backend they were submitted to, you could do:

most_recent_jobs = provider.backends.jobs(limit=10)

It is also possible to retrieve a single job without specifying the backend name:

job = provider.backends.retrieve_job(<JOB_ID>)

IBMQBackendService constructor.

Parameters

provider (AccountProvider) – IBM Quantum Experience account provider.


Methods

__call__

IBMQBackendService.__call__(name=None, filters=None, timeout=None, **kwargs)

Return all backends accessible via this provider, subject to optional filtering.

Parameters

  • name (Optional[str]) – Backend name to filter by.

  • filters (Optional[Callable[[List[IBMQBackend]], bool]]) –

    More complex filters, such as lambda functions. For example:

    AccountProvider.backends(filters=lambda b: b.configuration().n_qubits > 5)
  • timeout (Optional[float]) – Maximum number of seconds to wait for the discovery of remote backends.

  • kwargs (Any) –

    Simple filters that specify a True/False criteria in the backend configuration, backends status, or provider credentials. An example to get the operational backends with 5 qubits:

    AccountProvider.backends(n_qubits=5, operational=True)

Return type

List[IBMQBackend]

Returns

The list of available backends that match the filter.

jobs

IBMQBackendService.jobs(limit=10, skip=0, backend_name=None, status=None, job_name=None, start_datetime=None, end_datetime=None, job_tags=None, job_tags_operator='OR', descending=True, db_filter=None)

Return a list of jobs, subject to optional filtering.

Retrieve jobs that match the given filters and paginate the results if desired. Note that the server has a limit for the number of jobs returned in a single call. As a result, this function might involve making several calls to the server. See the skip parameter for more control over pagination.

Parameters

  • limit (int) – Number of jobs to retrieve.

  • skip (int) – Starting index for the job retrieval.

  • backend_name (Optional[str]) – Name of the backend to retrieve jobs from.

  • status (Union[JobStatus, str, List[Union[JobStatus, str]], None]) – Only get jobs with this status or one of the statuses. For example, you can specify status=JobStatus.RUNNING or status=”RUNNING” or status=[“RUNNING”, “ERROR”]

  • job_name (Optional[str]) – Filter by job name. The job_name is matched partially and regular expressions(opens in a new tab) can be used.

  • start_datetime (Optional[datetime]) – Filter by the given start date, in local time. This is used to find jobs whose creation dates are after (greater than or equal to) this local date/time.

  • end_datetime (Optional[datetime]) – Filter by the given end date, in local time. This is used to find jobs whose creation dates are before (less than or equal to) this local date/time.

  • job_tags (Optional[List[str]]) – Filter by tags assigned to jobs.

  • job_tags_operator (Optional[str]) –

    Logical operator to use when filtering by job tags. Valid values are “AND” and “OR”:

    • If “AND” is specified, then a job must have all of the tags specified in job_tags to be included.
    • If “OR” is specified, then a job only needs to have any of the tags specified in job_tags to be included.
  • descending (bool) – If True, return the jobs in descending order of the job creation date (i.e. newest first) until the limit is reached.

  • db_filter (Optional[Dict[str, Any]]) –

    A loopback-based filter(opens in a new tab). This is an interface to a database where filter. Some examples of its usage are:

    Filter last five jobs with errors:

    job_list = backend.jobs(limit=5, status=JobStatus.ERROR)

    Filter last five jobs with hub name ibm-q:

    filter = {'hubInfo.hub.name': 'ibm-q'}
    job_list = backend.jobs(limit=5, db_filter=filter)

Return type

List[IBMQJob]

Returns

A list of IBMQJob instances.

Raises

  • IBMQBackendValueError – If a keyword value is not recognized.
  • TypeError – If the input start_datetime or end_datetime parameter value is not valid.

retrieve_job

IBMQBackendService.retrieve_job(job_id)

Return a single job.

Parameters

job_id (str) – The ID of the job to retrieve.

Return type

IBMQJob

Returns

The job with the given id.

Raises

Was this page helpful?