Source code for saveable_objects.checkpointing._checkpointing

 1from typing import Tuple
 2
 3from .. import SaveableObject
 4
[docs] 5def failed(load_attempt: SaveableObject | bool | Tuple[SaveableObject, bool]) -> bool: 6 """Determines if a :class:`SaveableObject <saveable_objects.SaveableObject>` 7 :meth:`.load() <saveable_objects.SaveableObject.load>`, 8 :meth:`.tryload() <saveable_objects.SaveableObject.tryload>`, 9 :meth:`.loadif() <saveable_objects.SaveableObject.loadif>`, or 10 :meth:`.loadifparams() <saveable_objects.SaveableObject.loadifparams>` 11 attempt fails. 12 13 Parameters 14 ---------- 15 load_attempt : SaveableObject | bool | (SaveableObject, bool) 16 The output of :meth:`load() <saveable_objects.SaveableObject.load>`, 17 :meth:`tryload() <saveable_objects.SaveableObject.tryload>`, 18 :meth:`loadif() <saveable_objects.SaveableObject.loadif>`, or 19 :meth:`loadifparams() <saveable_objects.SaveableObject.loadifparams>`. 20 21 Returns 22 ------- 23 bool 24 Returns ``True`` is the the `load_attempt` failed, else ``False``. 25 26 Notes 27 ----- 28 Example use: 29 30 .. code-block:: python 31 32 if failed(obj := SaveableObject.loadif(*args, path="filename.pkl", **kwargs)): 33 ... # code that generates obj 34 ... # code that uses obj 35 """ 36 try: 37 return not load_attempt[1] 38 except: 39 return not load_attempt
40
[docs] 41def succeeded(load_attempt: SaveableObject | bool | Tuple[SaveableObject, bool]) -> bool: 42 """Determines if a :class:`SaveableObject <saveable_objects.SaveableObject>` 43 :meth:`.load() <saveable_objects.SaveableObject.load>`, 44 :meth:`.tryload() <saveable_objects.SaveableObject.tryload>`, 45 :meth:`.loadif() <saveable_objects.SaveableObject.loadif>`, or 46 :meth:`.loadifparams() <saveable_objects.SaveableObject.loadifparams>` 47 attempt succeeds. 48 49 Parameters 50 ---------- 51 load_attempt : SaveableObject | bool | (SaveableObject, bool) 52 The output of :meth:`load() <saveable_objects.SaveableObject.load>`, 53 :meth:`tryload() <saveable_objects.SaveableObject.tryload>`, 54 :meth:`loadif() <saveable_objects.SaveableObject.loadif>`, or 55 :meth:`loadifparams() <saveable_objects.SaveableObject.loadifparams>`. 56 57 Returns 58 ------- 59 bool 60 Returns ``True`` is the the `load_attempt` succeeded, else ``False``. 61 62 Notes 63 ----- 64 Example use: 65 66 .. code-block:: python 67 68 if succeeded(obj := SaveableObject.loadif(*args, path="filename.pkl", **kwargs)): 69 ... # code that uses a successfully loaded obj 70 else: 71 ... # code to run if obj failed to load 72 """ 73 return not failed(load_attempt)