src.wic.model#

Module Contents#

Classes#

NumpyEncoder

Extensible JSON <https://json.org> encoder for Python data structures.

WICModel

Helper class that provides a standard way to create an ABC using

class src.wic.model.NumpyEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)#

Bases: json.JSONEncoder

Extensible JSON <https://json.org> encoder for Python data structures.

Supports the following objects and types by default:

Python

JSON

dict

object

list, tuple

array

str

string

int, float

number

True

true

False

false

None

null

To extend this to recognize other objects, subclass and implement a .default() method with another method that returns a serializable object for o if possible, otherwise it should call the superclass implementation (to raise TypeError).

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 JSONEncoder.default(self, o)
class src.wic.model.WICModel(**data: Any)#

Bases: pydantic.BaseModel, abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

class Config#
json_encoders#
_cache: pandas.DataFrame#
_cache_path: pathlib.Path#
scaler: Any#
predictions: dict[tuple[src.use.UseID, src.use.UseID], float]#
abstract as_df() pandas.DataFrame#
abstract predict(use_pairs: Iterable[tuple[src.use.Use, src.use.Use]], **kwargs) list[float]#
predict_all(use_pairs: list[tuple[src.use.Use, src.use.Use]]) list[float]#