helper#


This module contains various helper functions.

count_none(*args: Any) int[source]#

Counts the number of arguments that are None

Parameters:

args – various arguments

Returns:

the number of arguments that are None

count_not_none(*args: Any) int[source]#

Counts the number of arguments that are not None

Parameters:

args – various arguments

Returns:

the number of arguments that are not None

any_none(*args: Any) bool[source]#
Parameters:

args – various arguments

Returns:

True if any of the arguments are None, False otherwise

all_none(*args: Any) bool[source]#
Parameters:

args – various arguments

Returns:

True if all of the arguments are None, False otherwise

check_not_nan_dict(d: dict)[source]#

Raises ValueError if any of the values in the given dictionary are NaN, reporting the respective keys

Parameters:

d – a dictionary mapping to floats that are to be checked for NaN

mark_used(*args)[source]#

Utility function to mark identifiers as used. The function does nothing.

Parameters:

args – pass identifiers that shall be marked as used here

flatten_arguments(args: Sequence[Union[T, Sequence[T]]]) List[T][source]#

Main use case is to support both interfaces of the type f(T1, T2, …) and f([T1, T2, …]) simultaneously. It is assumed that if the latter form is passed, the arguments are either in a list or a tuple. Moreover, T cannot be a tuple or a list itself.

Overall this function is not all too safe and one should be aware of what one is doing when using it