def getfullargspec(func):
 try:
  return inspect.getfullargspec(func)
 except AttributeError:
  arg_spec = inspect.getargspec(func)
  import collections
  tuple_fields = 'args varargs varkw defaults kwonlyargs kwonlydefaults annotations'
  tuple_type = collections.namedtuple('FullArgSpec', tuple_fields)
  return tuple_type(args=arg_spec.args, varargs=arg_spec.varargs, varkw=arg_spec.keywords, defaults=arg_spec.defaults, kwonlyargs=[], kwonlydefaults=None, annotations={})

def getfullargspec ( func ) : try : return inspect . getfullargspec ( func ) except AttributeError : arg_spec = inspect . getargspec ( func ) import collections tuple_fields = 'args varargs varkw defaults kwonlyargs kwonlydefaults annotations' tuple_type = collections . namedtuple ( 'FullArgSpec' , tuple_fields ) return tuple_type ( args = arg_spec . args , varargs = arg_spec . varargs , varkw = arg_spec . keywords , defaults = arg_spec . defaults , kwonlyargs = [ ] , kwonlydefaults = None , annotations = { } )
compatibility function to provide inspect .