code: def __init__(self, backend, experiment):
      self._backend = backend
      self._experiment = experiment
      self._ping_thread = None
      self._hardware_metric_thread = None
      self._aborting_thread = None
      self._logger = None
      self._logger_handler = None
      self._stdout_uploader = None
      self._stderr_uploader = None
      self._uncaught_exception_handler = sys.__excepthook__
  
      self._previous_uncaught_exception_handler = None
  
imports: import logging
  import os
  import sys
  import time
  import traceback
  from logging import StreamHandler
  from neptune.common.hardware.gauges.gauge_mode import GaugeMode
  from neptune.common.hardware.metrics.service.metric_service_factory import MetricServiceFactory
  from neptune.common.utils import in_docker, is_ipython, is_notebook
  from neptune.legacy.internal.abort import CustomAbortImpl, DefaultAbortImpl
  from neptune.legacy.internal.channels.channels import ChannelNamespace
  from neptune.legacy.internal.streams.channel_writer import ChannelWriter
  from neptune.legacy.internal.streams.stdstream_uploader import StdErrWithUpload, StdOutWithUpload
  from neptune.legacy.internal.threads.aborting_thread import AbortingThread
  from neptune.legacy.internal.threads.hardware_metric_reporting_thread import HardwareMetricReportingThread
  from neptune.legacy.internal.threads.ping_thread import PingThread
label_desc: Use image node_id 1 to create a new ExecutionContext object from inherited base classes: object with example: obj = ExecutionContext(backend, experiment)