code: def extract_signature(obj: Callable[..., Any]) -> Signature:
      """Extract signature object from a callable instance.
  
      Getting a callable signature is a heavy and not cheap op
      therefore we are caching it.
      """
      return signature(obj)
  
imports: from functools import lru_cache
  from inspect import Signature, signature
  from typing import Any, Callable, Dict
label_desc: Use image node_id 3 for calling a global function with example usage: extract_signature(obj) and returns: signature