diff --git a/src/python_spectrometer/core.py b/src/python_spectrometer/core.py index 2a950b3c34480a8478abd2f4767fb815705b76b7..c832c3987ac0b390263dd308a241172b121e7261 100644 --- a/src/python_spectrometer/core.py +++ b/src/python_spectrometer/core.py @@ -1677,13 +1677,12 @@ def _load_spectrum(file: _pathT) -> Dict[str, Any]: # Patch modules for data saved before move to separate package renamed_modules = {'qutil.measurement.spectrometer.daq.settings': daq_settings} + target = 'pathlib._local' if sys.version_info >= (3, 13) else 'pathlib' PATHTYPE = type(Path()) with ( mock.patch.dict(sys.modules, renamed_modules), - mock.patch.multiple('pathlib', WindowsPath=PATHTYPE, PosixPath=PATHTYPE), - mock.patch.multiple('pathlib._local', WindowsPath=PATHTYPE, PosixPath=PATHTYPE, - create=True), # backwards compatibility + mock.patch.multiple(target, WindowsPath=PATHTYPE, PosixPath=PATHTYPE), np.load(file, allow_pickle=True) as fp, monkey_patched_io() ): diff --git a/src/python_spectrometer/daq/settings.py b/src/python_spectrometer/daq/settings.py index c945577052235c4d38e3d890c819b33528b41226..eeb04e370f0bb8229cebee777f79f313c43a9b19 100644 --- a/src/python_spectrometer/daq/settings.py +++ b/src/python_spectrometer/daq/settings.py @@ -239,13 +239,13 @@ class DAQSettings(dict): Consistency is not checked at instantiation time, only when using setters or converting to a plain consistent dictionary: - >>> s = DAQSettings(nperseg=400, fs=231.5, df=3.2) # works + >>> s = DAQSettings(fs=1e3, f_max=1e3) # works >>> s.to_consistent_dict() #doctest: +NORMALIZE_WHITESPACE Traceback (most recent call last): ... python_spectrometer.daq.settings.ResolutionError: Settings are inconsistent or not compatible with constraints. - Parsed so far: {'nperseg': 400, 'fs': 231.5, 'df': 3.2} + Parsed so far: {'fs': 1000.0, 'f_max': 1000.0, 'df': 1.0, 'nperseg': 1000} """ )