code: def generate_signature(_callable: Callable) -> inspect.Signature:
      name, doc = _callable.__name__, _callable.__doc__
      # returning predefined signature if in signature registry
      # name_in_registry = name in function_signatures_registry.keys()
      text_signature = get_str_signature_from_docstring(doc, name)
      # TODO safe handling if function signature can not be generated
      return _signature_fromstr(
          inspect.Signature, _callable, text_signature, True
      )
  
file_path: PySyft/packages/syft/src/syft/serde/signature.py
imports: import inspect
  from inspect import Parameter
  from inspect import Signature
  from inspect import _ParameterKind
  from inspect import _signature_fromstr
  import re
  from typing import Callable
  from typing import Optional
  from .deserialize import _deserialize
  from .recursive import recursive_serde_register
  from .serialize import _serialize
label_desc: Use image node_id 6 for calling a global function with example usage: generate_signature(_callable) and returns: _signature_fromstr