Skip to content

fix(typings) Move typing-extensions into TypeGuard #572

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ $ pip install --user --upgrade --pre libtmux

- _Future release notes will be placed here_

### Bug fix

- Fix `typing_extensions` issue by wrapping it in `TYPE_CHECKING`, continuation of #564, via #572.

### Development

- Improved test organization and coverage in `test_common.py` (#570):
Expand Down
7 changes: 5 additions & 2 deletions src/libtmux/pane.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
import typing as t
import warnings

from typing_extensions import Self

from libtmux.common import has_gte_version, has_lt_version, tmux_cmd
from libtmux.constants import (
PANE_DIRECTION_FLAG_MAP,
Expand All @@ -28,12 +26,17 @@
from . import exc

if t.TYPE_CHECKING:
import sys
import types

from .server import Server
from .session import Session
from .window import Window

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

logger = logging.getLogger(__name__)

Expand Down
6 changes: 2 additions & 4 deletions src/libtmux/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
import typing as t
import warnings

from typing_extensions import Self

from libtmux._internal.query_list import QueryList
from libtmux.common import tmux_cmd
from libtmux.neo import fetch_objs
Expand All @@ -39,9 +37,9 @@
import types

if sys.version_info >= (3, 10):
from typing import TypeAlias
from typing import Self, TypeAlias
else:
from typing_extensions import TypeAlias
from typing_extensions import Self, TypeAlias

DashLiteral: TypeAlias = t.Literal["-"]

Expand Down
8 changes: 6 additions & 2 deletions src/libtmux/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
import typing as t
import warnings

from typing_extensions import Self

from libtmux._internal.query_list import QueryList
from libtmux.constants import WINDOW_DIRECTION_FLAG_MAP, WindowDirection
from libtmux.formats import FORMAT_SEPARATOR
Expand All @@ -33,10 +31,16 @@
)

if t.TYPE_CHECKING:
import sys
import types

from libtmux.common import tmux_cmd

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

from .server import Server


Expand Down
9 changes: 7 additions & 2 deletions src/libtmux/window.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
import typing as t
import warnings

from typing_extensions import Self

from libtmux._internal.query_list import QueryList
from libtmux.common import has_gte_version, tmux_cmd
from libtmux.constants import (
Expand All @@ -30,11 +28,18 @@
from .common import PaneDict, WindowOptionDict, handle_option_error

if t.TYPE_CHECKING:
import sys
import types

from .server import Server
from .session import Session

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self


logger = logging.getLogger(__name__)


Expand Down