argskwargsmodifier 0.10

Last updated:

0 purchases

argskwargsmodifier 0.10 Image
argskwargsmodifier 0.10 Images
Add to Cart

Description:

argskwargsmodifier 0.10

A decorator that modifies the arguments and keyword arguments of a function before calling it.
Tested against Windows / Python 3.11 / Anaconda
pip install argskwargsmodifier
A decorator that modifies the arguments and keyword arguments of a function before calling it.

Args:
f_py (function, optional): Reserved for the function; do not use this argument explicitly.
args_and_function (tuple of tuples): A tuple of tuples where each tuple contains
an argument name and a function to transform the argument. The decorator will apply
the specified function to each argument with a matching name. Each transformation
function takes two arguments: the argument value and a dictionary containing all
keyword arguments and arguments (transformed into kwargs) passed to the decorated function.

Returns:
function: The decorated function.

Example:
from argskwargsmodifier import change_args_kwargs
@change_args_kwargs(
args_and_function=(
("arg1", lambda arg, allkwargs: arg * 2),
("arg2", lambda arg, allkwargs: arg * 3 if arg else None),
("arg3", lambda arg, allkwargs: arg * 5 if allkwargs.get('arg2') else arg * 50 ),
)
)
def example_function(arg1, arg2=None, arg3=None):
print(arg1, arg2, arg3)
pass


# Test the decorated function
example_function(1, arg3=3)
# Output: 2 None 150
example_function(1, 54, arg3=3)
# Output: 2 162 15

The `change_args_kwargs` decorator allows you to modify arguments and keyword arguments based on
the provided `args_and_function` list before invoking the decorated function. Each transformation
function in `args_and_function` receives the argument's value and a dictionary of all keyword
arguments passed to the decorated function, giving you flexibility in argument modification.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.