class_docstr: A class to configure the execution of a quantum circuit on a device.
  
  See the Attributes section to learn more about the various configurable options.
class_docstr_tok: ["A","class","to","configure","the","execution","of","a","quantum","circuit","on","a","device",".","See","the","Attributes","section","to","learn","more","about","the","various","configurable","options","."]
docstr: Validate the configured execution options.
  
  Note that this hook is automatically called after init via the dataclass integration.
docstr_tok: ["Validate","the","configured","execution","options",".","Note","that","this","hook","is","automatically","called","after","init","via","the","dataclass","integration","."]
code: def __post_init__(self):
      """
      Validate the configured execution options.
  
      Note that this hook is automatically called after init via the dataclass integration.
      """
      if self.interface not in SUPPORTED_INTERFACES:
          raise ValueError(
              f"Unknown interface. interface must be in {SUPPORTED_INTERFACES}, got {self.interface} instead."
          )
  
      if self.grad_on_execution not in {True, False, None}:
          raise ValueError(
              f"grad_on_execution must be True, False, or None. Got {self.grad_on_execution} instead."
          )
  
      if (
          self.gradient_method is not None
          and self.gradient_method not in SUPPORTED_GRADIENT_METHODS
      ):
          raise ValueError(
              f"gradient_method must be in {SUPPORTED_GRADIENT_METHODS}, got {self.gradient_method} instead."
          )
  
      if self.device_options is None:
          self.device_options = {}
  
      if self.gradient_keyword_arguments is None:
          self.gradient_keyword_arguments = {}
  
      if any(
          arg not in SUPPORTED_GRADIENT_KWARGS
          for arg in self.gradient_keyword_arguments
      ):
          raise ValueError(
              f"All gradient_keyword_arguments keys must be in {SUPPORTED_GRADIENT_KWARGS}, got unexpected values: {set(self.gradient_keyword_arguments) - set(SUPPORTED_GRADIENT_KWARGS)}"
          )
  
imports: from dataclasses import dataclass
  from typing import Optional
  from pennylane.workflow import SUPPORTED_INTERFACES
  from pennylane.gradients import SUPPORTED_GRADIENT_KWARGS
label_desc: Use image node_id 1 for calling the ExecutionConfig obj's underlying member method code with example usage: obj.__post_init__() without return types