Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
9 changes: 1 addition & 8 deletions src/nipanel/_panel.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
from __future__ import annotations

import sys
from abc import ABC
from types import TracebackType
from typing import TYPE_CHECKING

import grpc
from ni_measurement_plugin_sdk_service.discovery import DiscoveryClient
from ni_measurement_plugin_sdk_service.grpc.channelpool import GrpcChannelPool

from nipanel._panel_client import PanelClient

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


class Panel(ABC):
Expand Down
11 changes: 4 additions & 7 deletions src/nipanel/_panel_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,18 @@

import logging
import threading
from typing import TYPE_CHECKING, Callable, TypeVar
from typing import TypeVar, Callable

import grpc
from ni.pythonpanel.v1.python_panel_service_pb2 import ConnectRequest, DisconnectRequest
from ni.pythonpanel.v1.python_panel_service_pb2_grpc import PythonPanelServiceStub
from ni_measurement_plugin_sdk_service.discovery import DiscoveryClient
from ni_measurement_plugin_sdk_service.grpc.channelpool import GrpcChannelPool

_T = TypeVar("_T")

if TYPE_CHECKING:
from typing_extensions import ParamSpec

_P = ParamSpec("_P")
from nipanel._typing import ParamSpec

_P = ParamSpec("_P")
_T = TypeVar("_T")

_logger = logging.getLogger(__name__)

Expand Down
23 changes: 23 additions & 0 deletions src/nipanel/_typing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""Single source for typing backports to avoid depending on typing_extensions at run time."""

from __future__ import annotations

import sys
from typing import TYPE_CHECKING

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

if TYPE_CHECKING:
from typing_extensions import ParamSpec
else:
from typing import TypeVar as ParamSpec

__all__ = [
"Self",
"ParamSpec",
]