code: def __getattr__(self, name):
      raise AttributeError(
          "dvc.api.open() should be used in a with statement."
      )
  
file_path: dvc/dvc/api/data.py
imports: from contextlib import _GeneratorContextManager
  from contextlib import contextmanager
  from typing import Any, Dict, Optional
  from funcy import reraise
  from dvc.exceptions import FileMissingError, OutputNotFoundError, PathMissingError
  from dvc.repo import Repo
label_desc: Use image node_id 2 for calling the _OpenContextManager obj's underlying member method code with example usage: obj.__getattr__(name) without return types