1212from contextlib import asynccontextmanager
1313from dataclasses import dataclass
1414from datetime import timedelta
15+ from typing import Any , overload
16+ from warnings import warn
1517
1618import anyio
1719import httpx
@@ -85,13 +87,28 @@ class RequestContext:
8587class StreamableHTTPTransport :
8688 """StreamableHTTP client transport implementation."""
8789
90+ @overload
91+ def __init__ (self , url : str ) -> None : ...
92+
93+ @deprecated ("Those parameters are deprecated. Use the url parameter instead." )
94+ @overload
95+ def __init__ (
96+ self ,
97+ url : str ,
98+ headers : dict [str , str ] | None = None ,
99+ timeout : float | timedelta = 30 ,
100+ sse_read_timeout : float | timedelta = 60 * 5 ,
101+ auth : httpx .Auth | None = None ,
102+ ) -> None : ...
103+
88104 def __init__ (
89105 self ,
90106 url : str ,
91107 headers : dict [str , str ] | None = None ,
92108 timeout : float | timedelta = 30 ,
93109 sse_read_timeout : float | timedelta = 60 * 5 ,
94110 auth : httpx .Auth | None = None ,
111+ ** deprecated : dict [str , Any ],
95112 ) -> None :
96113 """Initialize the StreamableHTTP transport.
97114
@@ -102,6 +119,8 @@ def __init__(
102119 sse_read_timeout: Timeout for SSE read operations.
103120 auth: Optional HTTPX authentication handler.
104121 """
122+ if deprecated :
123+ warn (f"Deprecated parameters: { deprecated } " , DeprecationWarning )
105124 self .url = url
106125 self .headers = headers or {}
107126 self .timeout = timeout .total_seconds () if isinstance (timeout , timedelta ) else timeout
0 commit comments