diff --git a/src/connectrpc/_protocol_grpc.py b/src/connectrpc/_protocol_grpc.py index 9b77f11..242d4aa 100644 --- a/src/connectrpc/_protocol_grpc.py +++ b/src/connectrpc/_protocol_grpc.py @@ -7,8 +7,6 @@ from http import HTTPStatus from typing import TYPE_CHECKING, Any, TypeVar -from pyqwest import Headers as HTTPHeaders - from ._compression import IdentityCompression, negotiate_compression from ._envelope import EnvelopeReader, EnvelopeWriter from ._gen.google.rpc.status_pb import Status @@ -27,7 +25,7 @@ if TYPE_CHECKING: from collections.abc import Mapping - from pyqwest import Response, SyncResponse + from pyqwest import Headers as HTTPHeaders, Response, SyncResponse from ._codec import Codec from ._compression import Compression @@ -412,6 +410,10 @@ def __init__( read_max_bytes: int | None, ) -> None: super().__init__(message_class, codec, compression, read_max_bytes) + + # We lazy import to avoid eagerly importing the client for server-only code. + from pyqwest import Headers as HTTPHeaders # noqa: PLC0415 + self._trailers = HTTPHeaders() def handle_end_message(