prepend_parameter

utilipy.utils.inspect.prepend_parameter(sig: inspect.Signature, param: inspect.Parameter)inspect.Signature[source]

Insert a new Parameter at the start.

Similar to .replace, but more convenient for adding a single parameter Parameters are immutable, so will create a new Signature object

Parameters
sig: Signature

Signature object

index: int

index into Signature.parameters at which to insert new parameter

param: Parameter

param to insert at index

Returns
Signature: Signature

a new Signature object with the inserted param

Todo

have a skip_self option to skip self/cls in class methods.