From d853f054aed6d3aa922661e02eca288233013960 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sun, 31 Jul 2022 12:32:25 -0500 Subject: [PATCH 1/3] build: Add tests/__init__.py for mypy --- tests/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb From 969b541a9d1a89361996465c4ea6720af5d10678 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sun, 31 Jul 2022 12:43:46 -0500 Subject: [PATCH 2/3] chore(session): Add TYPE_CHECKING: Try to avoid circular imports --- libtmux/session.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libtmux/session.py b/libtmux/session.py index ca7652461..e5299fc83 100644 --- a/libtmux/session.py +++ b/libtmux/session.py @@ -18,9 +18,12 @@ has_version, session_check_name, ) -from .pane import Pane from .window import Window +if t.TYPE_CHECKING: + from .pane import Pane + + logger = logging.getLogger(__name__) @@ -367,7 +370,7 @@ def select_window(self, target_window: str) -> Window: return self.attached_window @property - def attached_pane(self) -> t.Optional[Pane]: + def attached_pane(self) -> t.Optional["Pane"]: """Return active :class:`Pane` object.""" return self.attached_window.attached_pane From 51ace8fe9821c89951e81ed32a8fd21abcbb3041 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sun, 31 Jul 2022 12:46:23 -0500 Subject: [PATCH 3/3] refactor: Use explicit imports --- tests/test_server.py | 2 +- tests/test_session.py | 5 ++++- tests/test_tmuxobject.py | 4 +++- tests/test_window.py | 5 ++++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/test_server.py b/tests/test_server.py index 0e45f7d09..1c690287e 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -1,8 +1,8 @@ """Test for libtmux Server object.""" import logging -from libtmux import Server from libtmux.common import has_gte_version +from libtmux.server import Server logger = logging.getLogger(__name__) diff --git a/tests/test_session.py b/tests/test_session.py index 4b4a835f9..cca21a88a 100644 --- a/tests/test_session.py +++ b/tests/test_session.py @@ -3,9 +3,12 @@ import pytest -from libtmux import Pane, Session, Window, exc +from libtmux import exc from libtmux.common import has_gte_version +from libtmux.pane import Pane +from libtmux.session import Session from libtmux.test import TEST_SESSION_PREFIX, namer +from libtmux.window import Window logger = logging.getLogger(__name__) diff --git a/tests/test_tmuxobject.py b/tests/test_tmuxobject.py index 02c3446f8..40813e76d 100644 --- a/tests/test_tmuxobject.py +++ b/tests/test_tmuxobject.py @@ -1,8 +1,10 @@ """Tests for libtmux TmuxRelationalObject and TmuxMappingObject.""" import logging -from libtmux import Pane, Session, Window +from libtmux.pane import Pane +from libtmux.session import Session from libtmux.test import TEST_SESSION_PREFIX, namer +from libtmux.window import Window logger = logging.getLogger(__name__) diff --git a/tests/test_window.py b/tests/test_window.py index 0c4029ac5..bc0492a60 100644 --- a/tests/test_window.py +++ b/tests/test_window.py @@ -3,8 +3,11 @@ import pytest -from libtmux import Pane, Server, Window, exc +from libtmux import exc from libtmux.common import has_gte_version +from libtmux.pane import Pane +from libtmux.server import Server +from libtmux.window import Window logger = logging.getLogger(__name__)