sksundae.utils#
General-purpose module for shared utilities across the package.
Classes#
Output container with pretty printing. |
Module Contents#
- class sksundae.utils.RichResult(**kwargs)[source]#
Output container with pretty printing.
A container class based off the
_RichResultclass in thescipylibrary. It combines a series of formatting functions to make the printed ‘repr’ easy to read. Use this class directly by passing in any number of keyword arguments, or use it as a base class to have custom classes for different result types.Inheriting classes should define the class attribute
_order_keyswhich is a list of strings that defines how output fields are sorted when an instance is printed.- Parameters:
**kwargs (dict, optional) – User-specified keyword arguments. Any number of arguments can be given as input. The class simply stores the key/value pairs, makes them accessible as attributes, and provides pretty printing.
Examples
The example below demonstrates how to define the
_order_keysclass attribute for custom sorting. If arguments are not in the list, they are placed at the end based on the order they were given. Note that_order_keysonly provides sorting support and that no errors are raised if an argument is not present, e.g.,thirdbelow.import sksundae as sun class CustomResult(sun.utils.RichResult): _order_keys = ['first', 'second', 'third',] result = CustomResult(second=None, last=None, first=None) print(result)
RichResultcan also be used directly, without any custom sorting. Arguments will print based on the order they were input. Instances will still have a fully formatted ‘repr’, including formatted arrays.import numpy as np from sksundae.utils import RichResult t = np.linspace(0, 1, 1000) y = np.random.rand(1000, 5) y[0] = np.inf y[-1] = np.nan result = RichResult(message='Example.', status=0, t=t, y=y) print(result)
After initialization, all key/value pairs are accessible as instance attributes.
from sksundae.utils import RichResult result = RichResult(a=10, b=20, c=30) print(result.a*(result.b + result.c))