code: def write_signature(
      cls,
      overload_signature,
      tag,
      indent=" " * 4,
  ):
      filepath = inspect.getfile(cls)
      final_code = re.sub(
          rf"(# overload_inject_start_{tag}).*(# overload_inject_end_{tag})",
          f"\\1\n{indent}{overload_signature}\n{indent}\\2",
          open(filepath).read(),
          0,
          re.DOTALL,
      )
      with open(filepath, "w", encoding="utf-8") as fp:
          fp.write(final_code)
  
file_path: jina/scripts/inject-document-props-as-overload.py
imports: import inspect
  import re
  import warnings
  from operator import itemgetter
  from typing import Optional, Tuple, List
  from jina import Document
label_desc: Use image node_id 3 for calling a global function with example usage: write_signature(cls, overload_signature, tag, indent) without return types