INNER CODE UNIT · Python
args
python-cachier/cachier · src/cachier/core.py:155
args = func.args + args
kwds.update({k: v for k, v in func.keywords.items() if k not in kwds})
func = func.func
sig = inspect.signature(func)
func_params = list(sig.parameters)
# Separate regular parameters from VAR_POSITIONAL
regular_params = []
var_positional_name = None
for param_name in func_params:
param = sig.parameters[param_name]
if param.kind == inspect.Parameter.VAR_POSITIONAL:
var_positional_name = param_name
elif param.kind in (inspect.Parameter.POSITIONAL_ONLY, inspect.Parameter.POSITIONAL_OR_KEYWORD):
regular_params.append(param_name)