bdat.tools package#

Submodules#

bdat.tools.cli module#

bdat.tools.cli.args_from_stdin(arg_type: Type | ParamType, cli_args: tuple)#
bdat.tools.cli.print_debug(text)#
bdat.tools.cli.print_info(text)#

bdat.tools.custom_json_encoder module#

class bdat.tools.custom_json_encoder.CustomJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)#

Bases: JSONEncoder

default(obj)#

Implement this method in a subclass such that it returns a serializable object for o, or calls the base implementation (to raise a TypeError).

For example, to support arbitrary iterators, you could implement default like this:

def default(self, o):
    try:
        iterable = iter(o)
    except TypeError:
        pass
    else:
        return list(iterable)
    # Let the base class default method raise the TypeError
    return super().default(o)

bdat.tools.exception module#

exception bdat.tools.exception.ParallelWorkerException(cause, item)#

Bases: Exception

cause: Exception#
item: Any#

bdat.tools.misc module#

bdat.tools.misc.get_storage(configfile=None)#
bdat.tools.misc.is_similar(a, b, rel_tol, abs_tol)#
bdat.tools.misc.is_similar_obj(a, b, rel_tol, abs_tol, *, exclude)#
bdat.tools.misc.item_or_raise(x)#
bdat.tools.misc.make_filter(key_generator, f)#
bdat.tools.misc.make_getattr(key)#
bdat.tools.misc.make_range(args, deltaRel=(1, 1), deltaAbs=(0, 0), allowNone=False)#
bdat.tools.misc.make_round_function(key: str, get_value: Callable[[Any, str], float]) Callable[[Any], float]#
bdat.tools.misc.round_bin(x, binsize)#
bdat.tools.misc.round_to_n(x, n)#

bdat.tools.runner module#

bdat.tools.runner.run_parallel(f: Callable, iterator: Iterable, iterator_arg: str, const_args: Dict[str, Any], processes: int = 1, maxtasksperchild: int = 50, chunksize: int = 1)#
bdat.tools.runner.wrapper(item)#

Module contents#