diff -up openrazer-3.12.1/pylib/openrazer/client/devices/__init__.py.orig openrazer-3.12.1/pylib/openrazer/client/devices/__init__.py --- openrazer-3.12.1/pylib/openrazer/client/devices/__init__.py.orig 2026-05-19 19:44:40.337108687 -0500 +++ openrazer-3.12.1/pylib/openrazer/client/devices/__init__.py 2026-05-19 19:44:59.828351177 -0500 @@ -1,5 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later +from __future__ import annotations + from collections.abc import Iterable import dbus as _dbus from openrazer.client.fx import RazerFX as _RazerFX diff -up openrazer-3.12.1/pylib/openrazer/client/fx.py.orig openrazer-3.12.1/pylib/openrazer/client/fx.py --- openrazer-3.12.1/pylib/openrazer/client/fx.py.orig 2026-05-19 19:26:55.586979676 -0500 +++ openrazer-3.12.1/pylib/openrazer/client/fx.py 2026-05-19 19:27:39.210565423 -0500 @@ -1,5 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later +from __future__ import annotations + import numpy as _np import numpy.typing as _npt import dbus as _dbus diff -up openrazer-3.12.1/pylib/openrazer/client/macro.py.orig openrazer-3.12.1/pylib/openrazer/client/macro.py --- openrazer-3.12.1/pylib/openrazer/client/macro.py.orig 2026-05-19 19:38:26.470026937 -0500 +++ openrazer-3.12.1/pylib/openrazer/client/macro.py 2026-05-19 19:38:55.272059146 -0500 @@ -1,5 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later +from __future__ import annotations + import json as _json from collections.abc import Iterable