Source code for blissoda.utils.serialization

from __future__ import annotations

import sys


[docs] def ensure_numpy_pickle_compat() -> None: """Allow NumPy 1 environments to unpickle arrays serialized by NumPy 2. NumPy 2 moved array implementation modules from ``numpy.core`` to ``numpy._core``. When a worker running NumPy 2 returns pickled arrays to a BLISS process still running NumPy 1, unpickling can fail because the older environment does not provide the ``numpy._core`` module path. """ try: import numpy.core as numpy_core except Exception: return sys.modules.setdefault("numpy._core", numpy_core) try: import numpy.core.multiarray as numpy_core_multiarray except Exception: return sys.modules.setdefault("numpy._core.multiarray", numpy_core_multiarray)