From 405339a1a473e803efa00f2b03b9225500ae2be6 Mon Sep 17 00:00:00 2001 From: Morten Brekkevold Date: Tue, 25 Jun 2024 16:26:00 +0200 Subject: [PATCH] Fix circular imports caused by type annotations Imports that are only necessary for type annotations should be guarded. --- src/zino/flaps.py | 2 ++ src/zino/tasks/task.py | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/zino/flaps.py b/src/zino/flaps.py index 07b75068a..6f1c82c98 100644 --- a/src/zino/flaps.py +++ b/src/zino/flaps.py @@ -3,6 +3,8 @@ Flapping is normally only tracked/updated based on incoming link traps. """ +from __future__ import annotations + import logging from datetime import datetime from typing import TYPE_CHECKING, List, Optional, Tuple diff --git a/src/zino/tasks/task.py b/src/zino/tasks/task.py index 481e16084..e15468c17 100644 --- a/src/zino/tasks/task.py +++ b/src/zino/tasks/task.py @@ -1,8 +1,14 @@ +from __future__ import annotations + from abc import ABC, abstractmethod +from typing import TYPE_CHECKING from zino.config.models import PollDevice from zino.snmp import SNMP -from zino.state import ZinoState + +if TYPE_CHECKING: + from zino.state import ZinoState + from zino.statemodels import DeviceState