code: def __init__(
      self,
      project,
      entity=None,
      title="Untitled Report",
      description="",
      width="readable",
      blocks=None,
      _api=None,
      *args,
      **kwargs,
  ):
      super().__init__(*args, **kwargs)
      self._viewspec = self._default_viewspec()
      self._orig_viewspec = deepcopy(self._viewspec)
      self._api = PublicApi() if _api is None else _api
  
      self.project = project
      self.entity = coalesce(entity, self._api.default_entity, "")
      self.title = title
      self.description = description
      self.width = width
      self.blocks = coalesce(blocks, [])
  
imports: import base64
  import inspect
  import json
  import re
  import urllib
  from copy import deepcopy
  from typing import List
  from ...None import __version__
  from ...None import termlog, termwarn
  from ...sdk.lib import ipython
  from ..public import Api
  from ..public import RetryingClient
  from ._blocks import P, PanelGrid, UnknownBlock, WeaveBlock, block_mapping, weave_blocks
  from .mutations import UPSERT_VIEW, VIEW_REPORT
  from .runset import Runset
  from .util import Attr, Base, Block, coalesce, generate_name, nested_get, nested_set
  from .validators import OneOf, TypeValidator
label_desc: Use image node_id 1 to create a new Report object from inherited base classes: Base with example: obj = Report(project, entity, title, description, width, blocks, _api)