Module: utils.signatures
Function signature objects for callables.
Back port of Python 3.3’s function signature tools from the inspect module,
modified to be compatible with Python 2.7 and 3.2+.
3 Classes
-
class IPython.utils.signatures.Parameter(name, kind, default=<class 'IPython.utils.signatures._empty'>, annotation=<class 'IPython.utils.signatures._empty'>, _partial_kwarg=False)
Bases: object
Represents a parameter in a function signature.
Has the following public attributes:
- name : str
The name of the parameter as a string.
- default : object
The default value for the parameter if specified. If the
parameter has no default value, this attribute is not set.
- annotation
The annotation for the parameter if specified. If the
parameter has no annotation, this attribute is not set.
- kind : str
Describes how argument values are bound to the parameter.
Possible values: Parameter.POSITIONAL_ONLY,
Parameter.POSITIONAL_OR_KEYWORD, Parameter.VAR_POSITIONAL,
Parameter.KEYWORD_ONLY, Parameter.VAR_KEYWORD.
-
__init__(name, kind, default=<class 'IPython.utils.signatures._empty'>, annotation=<class 'IPython.utils.signatures._empty'>, _partial_kwarg=False)
-
replace(name=<class 'IPython.utils.signatures._void'>, kind=<class 'IPython.utils.signatures._void'>, annotation=<class 'IPython.utils.signatures._void'>, default=<class 'IPython.utils.signatures._void'>, _partial_kwarg=<class 'IPython.utils.signatures._void'>)
Creates a customized copy of the Parameter.
-
class IPython.utils.signatures.BoundArguments(signature, arguments)
Bases: object
Result of Signature.bind() call. Holds the mapping of arguments
to the function’s parameters.
Has the following public attributes:
- arguments : collections.OrderedDict
- An ordered mutable mapping of parameters’ names to arguments’ values.
Does not contain arguments’ default values.
- signature : Signature
- The Signature object that created this instance.
- args : tuple
- Tuple of positional arguments values.
- kwargs : dict
- Dict of keyword arguments values.
-
__init__(signature, arguments)
-
class IPython.utils.signatures.Signature(parameters=None, return_annotation=<class 'IPython.utils.signatures._empty'>, __validate_parameters__=True)
Bases: object
A Signature object represents the overall signature of a function.
It stores a Parameter object for each parameter accepted by the
function, as well as information specific to the function itself.
A Signature object has the following public attributes:
- parameters : collections.OrderedDict
- An ordered mapping of parameters’ names to the corresponding
Parameter objects (keyword-only arguments are in the same order
as listed in code.co_varnames).
- return_annotation
- The annotation for the return type of the function if specified.
If the function has no annotation for its return type, this
attribute is not set.
-
__init__(parameters=None, return_annotation=<class 'IPython.utils.signatures._empty'>, __validate_parameters__=True)
Constructs Signature from the given list of Parameter
objects and ‘return_annotation’. All arguments are optional.
-
bind(*args, **kwargs)
Get a BoundArguments object, that maps the passed args
and kwargs to the function’s signature. Raises TypeError
if the passed arguments can not be bound.
-
bind_partial(*args, **kwargs)
Get a BoundArguments object, that partially maps the
passed args and kwargs to the function’s signature.
Raises TypeError if the passed arguments can not be bound.
-
classmethod from_function(func)
Constructs Signature for the given python function
-
replace(parameters=<class 'IPython.utils.signatures._void'>, return_annotation=<class 'IPython.utils.signatures._void'>)
Creates a customized copy of the Signature.
Pass ‘parameters’ and/or ‘return_annotation’ arguments
to override them in the new copy.
2 Functions
-
IPython.utils.signatures.formatannotation(annotation, base_module=None)
-
IPython.utils.signatures.signature(obj)
Get a signature object for the passed callable.