Source code for andes.utils.snapshot

"""
Utility functions for saving and loading snapshots.
"""

import dill

import andes


[docs]def save_ss(path, system): """ Save a system with all internal states as a snapshot. Returns ------- Path to the saved snapshot. Warnings -------- One limitation of the current implementation is version dependency. The snapshots only work with the specific ANDES version that created it. """ system.remove_pycapsule() with open(path, 'wb') as file: dill.dump(system, file, recurse=True) return path
[docs]def load_ss(path): """ Load an ANDES snapshot and return a System object. """ # the line below is needed to properly import `pycode`. # TODO: properly import `pycode` beforehand system = andes.System() with open(path, 'rb') as file: system = dill.load(file) system.fix_address() return system