code: def __init__(
      self,
      *,
      credentials: Union[CloudCredentials, AnonymousCloudCredentials],
      params: Optional[Mapping[str, str]] = None,
      http_session: Optional[httpx.ClientSession] = None,
      **kwargs,
  ):
      if "raise_for_status" not in kwargs:
          kwargs["raise_for_status"] = True
      self._params = params
      if http_session is not None:
          self._owns_http_session = False
          self._http_session = http_session
      else:
          self._owns_http_session = True
          self._http_session = httpx.ClientSession(**kwargs)
      self._credentials = credentials
  
file_path: hail/hail/python/hailtop/aiocloud/common/session.py
imports: from contextlib import AsyncExitStack
  from types import TracebackType
  from typing import Optional, Type, TypeVar, Mapping, Union
  import time
  import aiohttp
  import abc
  import logging
  from hailtop import httpx
  from hailtop.utils import retry_transient_errors, RateLimit, RateLimiter
  from .credentials import CloudCredentials, AnonymousCloudCredentials
label_desc: Use image node_id 1 to create a new Session object from inherited base classes: BaseSession with example: obj = Session()