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


class Options(**kwargs)

GitHub(opens in a new tab)

Bases: object

Base options object

This class is the abstract class that all backend options are based on. The properties of the class are intended to be all dynamically adjustable so that a user can reconfigure the backend on demand. If a property is immutable to the user (eg something like number of qubits) that should be a configuration of the backend class itself instead of the options.



Options.get(field, default=None)

Get an option value for a given key.


Options.set_validator(field, validator_value)

Set an optional validator for a field in the options

Setting a validator enables changes to an options values to be validated for correctness when update_options() is called. For example if you have a numeric field like shots you can specify a bounds tuple that set an upper and lower bound on the value such as:

options.set_validator("shots", (1, 4096))

In this case whenever the "shots" option is updated by the user it will enforce that the value is >=1 and <=4096. A ValueError will be raised if it’s outside those bounds. If a validator is already present for the specified field it will be silently overriden.


  • field (str) – The field name to set the validator on
  • validator_value (list or tuple or type) – The value to use for the validator depending on the type indicates on how the value for a field is enforced. If a tuple is passed in it must have a length of two and will enforce the min and max value (inclusive) for an integer or float value option. If it’s a list it will list the valid values for a field. If it’s a type the validator will just enforce the value is of a certain type.


  • KeyError – If field is not present in the options object
  • ValueError – If the validator_value has an invalid value for a given type
  • TypeError – If validator_value is not a valid type



Update options with kwargs



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