neuralib.persistence.persistence.PersistenceHandler
- class neuralib.persistence.persistence.PersistenceHandler[source]
Bases:
Generic[T]The handler for loading and saving persistence instance.
- __init__()
Methods
__init__()filename(result, **kwargs)build filename for persistence instance.
filepath(result, **kwargs)build filepath for persistence instance.
load_all(result, **kwargs)load all persistent result under save_root.
load_persistence(path)Load data as data_cls from path without validation.
save_persistence(result[, path])save persistence result under path.
validate(ref, res)Attributes
information for persistence class
saving directory
- abstract property persistence_class: type[T]
- Returns:
type T
- property persistence_info: PersistentClass[T]
information for persistence class
- abstract property save_root: Path
saving directory
- filename(result, **kwargs)[source]
build filename for persistence instance.
- Parameters:
result (T | None) – persistence instance
kwargs – overwrite field value in result.
- Returns:
file name of result, may contains ‘{}’ if result’s autoinc field not resolved
- Return type:
str
- filepath(result, **kwargs)[source]
build filepath for persistence instance.
- Parameters:
result (T | None) – persistence instance
kwargs – overwrite field value in result.
- Returns:
file path of result
- Raises:
RuntimeError – result’s autoinc field not resolved, or errors from
filename()- Return type:
Path
- save_persistence(result, path=None)[source]
save persistence result under path.
- Parameters:
result (T)
path (str | Path | None) – save path.
- Returns:
result. autoinc field will be resolved after saving.
- Raises:
- Return type:
T
- load_persistence(path)[source]
Load data as data_cls from path without validation.
- Parameters:
path (Path | T | dict[str, Any]) – load from path.
- Returns:
persistence instance
- Raises:
IsADirectoryError –
- Return type:
T
- load_all(result, **kwargs)[source]
load all persistent result under save_root. missing is used to make a field becomes a wildcard field.
>>> template = Example(use_animal='A00', use_session='test', use_date='20200101') >>> # find all animal A00's persistent result. >>> found = PickleHandler(Example, Path('')).load_all(template, use_date=missing)
- Parameters:
result (T | None)
- Return type:
Iterator[tuple[Path, T]]