in source/python/neuropod/utils/packaging_utils.py [0:0]
def _get_default_args(f):
"""
get the default args of a functon `f` as a map from an arg name to a default value
"""
if hasattr(f, "neuropod_default_args"):
return f.neuropod_default_args
argspec = inspect.getargspec(f)
if argspec.defaults:
# Generate tuples of (arg, default_value)
# According to https://docs.python.org/2/library/inspect.html#inspect.getargspec,
# if defaults has n elements, they correspond to the last n elements listed in args.
default_values = zip(reversed(argspec.args), reversed(argspec.defaults))
return {k: v for k, v in default_values}
return {}