class_docstr: Class that describes the shared state between the FiftyOne App and
  a corresponding :class:`fiftyone.core.session.Session`.
  
  Args:
      config (None): an optional :class:`fiftyone.core.config.AppConfig`
      dataset (None): the current :class:`fiftyone.core.dataset.Dataset`
      selected (None): the list of currently selected samples
      selected_labels (None): the list of currently selected labels
      spaces (None): a :class:`fiftyone.core.spaces.Space`
      color_scheme (None): a :class:`fiftyone.core.odm.dataset.ColorScheme`
      view (None): the current :class:`fiftyone.core.view.DatasetView`
      view_name (None): the name of the view if the current view is a
          saved view
code: def attributes(self):
      return list(
          filter(
              lambda a: a not in {"dataset", "view"},
              super().attributes(),
          )
      )
  
imports: import logging
  import typing
  from bson import json_util
  from dataclasses import asdict
  from mongoengine.base import BaseDict, BaseList
  import strawberry
  import eta.core.serial
  import eta.core.utils
  import fiftyone
  import fiftyone.core.clips
  from fiftyone.core.config import AppConfig
  import fiftyone.core.dataset
  from fiftyone.core.odm.dataset import ColorScheme
  import fiftyone.core.media
  import fiftyone.core.odm
  from fiftyone.core.spaces import Space
  import fiftyone.core.utils
  import fiftyone.core.view
  from fiftyone.server.scalars import JSON
label_desc: Use image node_id 3 for calling the StateDescription obj's underlying member method code with example usage: obj.attributes() and returns: list