MCPcopy Create free account
hub / github.com/apache/arrow / _make_signature

Function _make_signature

python/pyarrow/compute.py:275–295  ·  view source on GitHub ↗
(arg_names, var_arg_names, options_class)

Source from the content-addressed store, hash-verified

273
274
275def _make_signature(arg_names, var_arg_names, options_class):
276 from inspect import Parameter
277 params = []
278 for name in arg_names:
279 params.append(Parameter(name, Parameter.POSITIONAL_ONLY))
280 for name in var_arg_names:
281 params.append(Parameter(name, Parameter.VAR_POSITIONAL))
282 if options_class is not None:
283 options_sig = inspect.signature(options_class)
284 for p in options_sig.parameters.values():
285 assert p.kind in (Parameter.POSITIONAL_OR_KEYWORD,
286 Parameter.KEYWORD_ONLY)
287 if var_arg_names:
288 # Cannot have a positional argument after a *args
289 p = p.replace(kind=Parameter.KEYWORD_ONLY)
290 params.append(p)
291 params.append(Parameter("options", Parameter.KEYWORD_ONLY,
292 default=None))
293 params.append(Parameter("memory_pool", Parameter.KEYWORD_ONLY,
294 default=None))
295 return inspect.Signature(params)
296
297
298def _wrap_function(name, func):

Callers 1

_wrap_functionFunction · 0.85

Calls 4

ParameterClass · 0.85
appendMethod · 0.45
signatureMethod · 0.45
valuesMethod · 0.45

Tested by

no test coverage detected