Skip to content

Commit 6da8b5e

Browse files
authored
Fix config wizard runtime imports (#329)
1 parent e012c22 commit 6da8b5e

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

zabbix_cli/commands/cli_configwizard.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from enum import EnumMeta
1515
from operator import attrgetter
1616
from pathlib import Path
17+
from typing import TYPE_CHECKING
1718
from typing import Any
1819
from typing import Callable
1920
from typing import Generic
@@ -25,9 +26,8 @@
2526
from pydantic import SecretStr
2627
from rich.panel import Panel
2728

28-
from zabbix_cli.bulk import BulkRunnerMode
29+
from zabbix_cli.config.constants import BulkRunnerMode
2930
from zabbix_cli.config.constants import OutputFormat
30-
from zabbix_cli.config.model import Config
3131
from zabbix_cli.exceptions import ZabbixCLIError
3232
from zabbix_cli.output.console import console
3333
from zabbix_cli.output.console import exit_err
@@ -39,6 +39,12 @@
3939
from zabbix_cli.output.prompts import str_prompt
4040
from zabbix_cli.utils.args import parse_bool_arg
4141

42+
if TYPE_CHECKING:
43+
# NOTE: this is a potential HUGE footgun if anyone tries to use
44+
# this import outside of annotations. I don't like it, but
45+
# we really want to avoid defining the Pydantic models on startup
46+
from zabbix_cli.config.model import Config
47+
4248
if sys.version_info >= (3, 10):
4349
from itertools import pairwise
4450
else:

0 commit comments

Comments
 (0)