diff --git a/microscope/device_server.py b/microscope/device_server.py index a838e9fd..ac6ecf85 100644 --- a/microscope/device_server.py +++ b/microscope/device_server.py @@ -44,6 +44,7 @@ import sys import time import typing +from copy import deepcopy from collections.abc import Iterable from dataclasses import dataclass from logging import StreamHandler @@ -127,7 +128,7 @@ def construct_devices() -> typing.Dict[str, Device]: raise TypeError("uid must be specified for floating devices") elif not issubclass(cls, FloatingDeviceMixin) and uid is not None: raise TypeError("uid must not be given for non floating devices") - return dict(cls=cls, host=host, port=int(port), uid=uid, conf=conf) + return dict(cls=cls, host=host, port=int(port), uid=uid, conf=deepcopy(conf)) def _create_log_formatter(name: str):