rizer.misc.hdf5_compat#

HDF5 DLL preloading for h5py/Cantera coexistence (Windows).

The Cantera-4 from-source setup adds the pixi core env’s Library/bin to the process DLL directories (see zzz_cantera40_dll_dirs.pth in the conda env), so a bare hdf5.dll lookup resolves to the older HDF5 that Cantera was built against. h5py is compiled against the conda env’s newer HDF5 and then fails to import (DLL load failed while importing defs).

preload_env_hdf5() pins the conda env’s own hdf5.dll by loading it with an absolute path before anything asks for it by name; both h5py and Cantera then bind to that (newer, backward-compatible) module. Call it before the first import h5py — the rizer CLI and the Boulder plugin do.

No-op on non-Windows platforms and when the DLLs are absent.

Attributes#

Functions#

preload_env_hdf5(→ bool)

Pin the Python environment's HDF5 DLLs into the process (idempotent).

Module Contents#

rizer.misc.hdf5_compat.logger#
rizer.misc.hdf5_compat.preload_env_hdf5() → bool#

Pin the Python environment’s HDF5 DLLs into the process (idempotent).

Returns True when the DLLs were loaded, False when unavailable (non-Windows, or no HDF5 in the environment).