From 392ca0e09ebbcdc086c717b302e9863e2a11c4e3 Mon Sep 17 00:00:00 2001 From: Rick Wierenga Date: Tue, 15 Jul 2025 17:55:13 -0700 Subject: [PATCH 1/3] Fix abstract class check in MachineBackend --- pylabrobot/machines/backend.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pylabrobot/machines/backend.py b/pylabrobot/machines/backend.py index 68f9fdf182f..82ff022f411 100644 --- a/pylabrobot/machines/backend.py +++ b/pylabrobot/machines/backend.py @@ -1,5 +1,6 @@ import weakref -from abc import ABC, ABCMeta, abstractmethod +import inspect +from abc import ABC, abstractmethod from pylabrobot.utils.object_parsing import find_subclass @@ -29,7 +30,7 @@ def deserialize(cls, data: dict): subclass = find_subclass(class_name, cls=cls) if subclass is None: raise ValueError(f'Could not find subclass with name "{data["type"]}"') - if issubclass(subclass, ABCMeta): + if inspect.isabstract(subclass): raise ValueError(f'Subclass with name "{data["type"]}" is abstract') assert issubclass(subclass, cls) return subclass(**data) From b6367b6569f29afa4f115f7d8f6ae8ba1d0c7a34 Mon Sep 17 00:00:00 2001 From: Rick Wierenga Date: Tue, 15 Jul 2025 17:56:31 -0700 Subject: [PATCH 2/3] Update backend.py --- pylabrobot/machines/backend.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pylabrobot/machines/backend.py b/pylabrobot/machines/backend.py index 82ff022f411..1f909ca8be9 100644 --- a/pylabrobot/machines/backend.py +++ b/pylabrobot/machines/backend.py @@ -1,6 +1,6 @@ -import weakref -import inspect from abc import ABC, abstractmethod +import inspect +import weakref from pylabrobot.utils.object_parsing import find_subclass From 920fab800f9a614c8241d5b291d171b8abf68f9f Mon Sep 17 00:00:00 2001 From: Rick Wierenga Date: Tue, 15 Jul 2025 17:58:25 -0700 Subject: [PATCH 3/3] Update backend.py --- pylabrobot/machines/backend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pylabrobot/machines/backend.py b/pylabrobot/machines/backend.py index 1f909ca8be9..6f5e0753f39 100644 --- a/pylabrobot/machines/backend.py +++ b/pylabrobot/machines/backend.py @@ -1,6 +1,6 @@ -from abc import ABC, abstractmethod import inspect import weakref +from abc import ABC, abstractmethod from pylabrobot.utils.object_parsing import find_subclass