class_docstr: ExperimentClient providing all functionalities for the python API
  
  Note that the ExperimentClient is not meant to be instantiated by the user.
  Look at `orion.client.create_experiment` to build an ExperimentClient.
  
  Parameters
  ----------
  experiment: `orion.core.worker.experiment.Experiment`
      Experiment object serving for interaction with storage
class_docstr_tok: ["ExperimentClient","providing","all","functionalities","for","the","python","API","Note","that","the","ExperimentClient","is","not","meant","to","be","instantiated","by","the","user",".","Look","at","`","orion.client.create_experiment","`","to","build","an","ExperimentClient",".","Parameters","--","--","--","--","--","experiment",":","`","orion.core.worker.experiment.Experiment","`","Experiment","object","serving","for","interaction","with","storage"]
docstr: Temporarily change the executor backend of the experiment client.
  
  Parameters
  ----------
  executor: str or :class:`orion.executor.base.BaseExecutor`
      The executor to use. If it is a ``str``, the provided ``config`` will be used
      to create the executor with ``executor_factory.create(executor, **config)``.
  **config:
      Configuration to use if ``executor`` is a ``str``.
docstr_tok: ["Temporarily","change","the","executor","backend","of","the","experiment","client",".","Parameters","--","--","--","--","--","executor",":","str","or",":","class",":","`","orion.executor.base.BaseExecutor","`","The","executor","to","use",".","If","it","is","a","``","str","``",",","the","provided","``","config","``","will","be","used","to","create","the","executor","with","``","executor_factory.create","(","executor",",","*","*","config",")","``",".","*","*","config",":","Configuration","to","use","if","``","executor","``","is","a","``","str","``","."]
code: def tmp_executor(self, executor, **config):
      """Temporarily change the executor backend of the experiment client.
  
      Parameters
      ----------
      executor: str or :class:`orion.executor.base.BaseExecutor`
          The executor to use. If it is a ``str``, the provided ``config`` will be used
          to create the executor with ``executor_factory.create(executor, **config)``.
      **config:
          Configuration to use if ``executor`` is a ``str``.
  
      """
      if isinstance(executor, str):
          executor = executor_factory.create(executor, **config)
      old_executor = self._executor
      self._executor = executor
      with executor:
          yield self
      self._executor = old_executor
  
imports: from __future__ import annotations
  import inspect
  import logging
  import numbers
  import typing
  from contextlib import contextmanager
  from typing import Callable
  import orion.core
  from orion.algo.space import Space
  from orion.client.runner import Runner, prepare_trial_working_dir
  from orion.core.io.database import DuplicateKeyError
  from orion.core.utils.exceptions import BrokenExperiment, CompletedExperiment, ReservationRaceCondition, UnsupportedOperation, WaitingForTrials
  from orion.core.utils.format_trials import dict_to_trial
  from orion.core.utils.working_dir import SetupWorkingDir
  from orion.core.worker.experiment import AlgoT
  from orion.core.worker.producer import Producer
  from orion.core.worker.trial import AlreadyReleased, Trial, TrialCM
  from orion.core.worker.trial_pacemaker import TrialPacemaker
  from orion.executor.base import BaseExecutor, executor_factory
  from orion.plotting.base import PlotAccessor
  from orion.storage.base import FailedUpdate
label_desc: Use image node_id 34 for calling the ExperimentClient obj's underlying member method code with example usage: obj.tmp_executor(executor) without return types