Skip to content

Commit 33fb83f

Browse files
committed
Only import types from grpclib when type checking
1 parent 3546f55 commit 33fb83f

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

betterproto/__init__.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,16 @@
2727
TYPE_CHECKING,
2828
)
2929

30-
import grpclib.client
30+
3131
import grpclib.const
3232
import stringcase
3333

3434
from .casing import safe_snake_case
3535

3636
if TYPE_CHECKING:
3737
from grpclib._protocols import IProtoMessage
38+
from grpclib.client import Channel
39+
from grpclib.metadata import Deadline
3840

3941
if not (sys.version_info.major == 3 and sys.version_info.minor >= 7):
4042
# Apply backport of datetime.fromisoformat from 3.7
@@ -1013,10 +1015,10 @@ class ServiceStub(ABC):
10131015

10141016
def __init__(
10151017
self,
1016-
channel: grpclib.client.Channel,
1018+
channel: 'Channel',
10171019
*,
10181020
timeout: Optional[float] = None,
1019-
deadline: Optional[grpclib.metadata.Deadline] = None,
1021+
deadline: Optional['Deadline'] = None,
10201022
metadata: Optional[_MetadataLike] = None,
10211023
) -> None:
10221024
self.channel = channel
@@ -1027,7 +1029,7 @@ def __init__(
10271029
def __resolve_request_kwargs(
10281030
self,
10291031
timeout: Optional[float],
1030-
deadline: Optional[grpclib.metadata.Deadline],
1032+
deadline: Optional['Deadline'],
10311033
metadata: Optional[_MetadataLike],
10321034
):
10331035
return {
@@ -1043,7 +1045,7 @@ async def _unary_unary(
10431045
response_type: Type[T],
10441046
*,
10451047
timeout: Optional[float] = None,
1046-
deadline: Optional[grpclib.metadata.Deadline] = None,
1048+
deadline: Optional['Deadline'] = None,
10471049
metadata: Optional[_MetadataLike] = None,
10481050
) -> T:
10491051
"""Make a unary request and return the response."""
@@ -1066,7 +1068,7 @@ async def _unary_stream(
10661068
response_type: Type[T],
10671069
*,
10681070
timeout: Optional[float] = None,
1069-
deadline: Optional[grpclib.metadata.Deadline] = None,
1071+
deadline: Optional['Deadline'] = None,
10701072
metadata: Optional[_MetadataLike] = None,
10711073
) -> AsyncGenerator[T, None]:
10721074
"""Make a unary request and return the stream response iterator."""

0 commit comments

Comments
 (0)