input4mips_validation.attrs_helpers#
input4mips_validation.attrs_helpers
#
Tools for helping with attrs, particularly validators
add_attrs_context(original)
#
Decorate function with a try...except to add the attrs context
This means that the information about what attribute was being set and what value it was passed is also shown to the user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
original
|
Callable[[Any, Attribute[Any], T], None]
|
Function to decorate |
required |
Returns:
| Type | Description |
|---|---|
Callable[[Any, Attribute[Any], T], None]
|
Decorated function |
Notes
Only works with Python 3.11 and above. For other Python versions, the raw error is simply shown instead.
Source code in src/input4mips_validation/attrs_helpers.py
make_attrs_validator_compatible_single_input(func_to_wrap)
#
Create a function that is compatible with validation via attrs.field.
This assumes that the function you're wrapping only takes a single input.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
func_to_wrap
|
Callable[[T], None]
|
Function to wrap |
required |
Returns:
| Type | Description |
|---|---|
Callable[[Any, Attribute[Any], T], None]
|
Wrapped function, which can be used as a validator with
|
Source code in src/input4mips_validation/attrs_helpers.py
make_attrs_validator_compatible_value_instance_input(func_to_wrap)
#
Create a function that is compatible with validation via attrs.field.
This assumes that the function you're wrapping takes the instance and the values as inputs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
func_to_wrap
|
Callable[[Any, T], None]
|
Function to wrap |
required |
Returns:
| Type | Description |
|---|---|
Callable[[Any, Attribute[Any], T], None]
|
Wrapped function, which can be used as a validator with |