code: def _get_names_primitives(primitive_func):
      names = []
      primitives = []
      valid_inputs = []
      return_type = []
      for name, primitive in primitive_func().items():
          names.append(name)
          primitives.append(primitive)
          input_types = _get_unique_input_types(primitive.input_types)
          valid_inputs.append(", ".join(input_types))
          return_type.append(
              str(primitive.return_type),
          ) if primitive.return_type is not None else return_type.append(
              None
          )
      return names, primitives, valid_inputs, return_type
  
imports: import importlib.util
  import os
  from inspect import getfullargspec, getsource, isclass
  from typing import Dict, List
  import pandas
  from woodwork import list_logical_types, list_semantic_tags, type_system
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import NaturalLanguage
  import featuretools
  from featuretools.primitives import NumberOfCommonWords
  from featuretools.primitives.base import AggregationPrimitive, PrimitiveBase, TransformPrimitive
  from featuretools.utils.gen_utils import Library, find_descendents
label_desc: Use image node_id 13 for calling a global function with example usage: _get_names_primitives(primitive_func) and returns: names,  primitives,  valid_inputs,  return_type