99import inspect
1010import logging
1111import platform
12- import warnings
1312import email.utils
1413from types import TracebackType
1514from random import random
3635import httpx
3736import distro
3837import pydantic
39- from httpx import URL, Limits
38+ from httpx import URL
4039from pydantic import PrivateAttr
4140
4241from . import _exceptions
5150 Timeout,
5251 NotGiven,
5352 ResponseT,
54- Transport,
5553 AnyMapping,
5654 PostParser,
57- ProxiesTypes,
5855 RequestFiles,
5956 HttpxSendArgs,
60- AsyncTransport,
6157 RequestOptions,
6258 HttpxRequestFiles,
6359 ModelBuilderProtocol,
@@ -337,9 +333,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
337333 _base_url: URL
338334 max_retries: int
339335 timeout: Union[float, Timeout, None]
340- _limits: httpx.Limits
341- _proxies: ProxiesTypes | None
342- _transport: Transport | AsyncTransport | None
343336 _strict_response_validation: bool
344337 _idempotency_header: str | None
345338 _default_stream_cls: type[_DefaultStreamT] | None = None
@@ -352,19 +345,13 @@ def __init__(
352345 _strict_response_validation: bool,
353346 max_retries: int = DEFAULT_MAX_RETRIES,
354347 timeout: float | Timeout | None = DEFAULT_TIMEOUT,
355- limits: httpx.Limits,
356- transport: Transport | AsyncTransport | None,
357- proxies: ProxiesTypes | None,
358348 custom_headers: Mapping[str, str] | None = None,
359349 custom_query: Mapping[str, object] | None = None,
360350 ) -> None:
361351 self._version = version
362352 self._base_url = self._enforce_trailing_slash(URL(base_url))
363353 self.max_retries = max_retries
364354 self.timeout = timeout
365- self._limits = limits
366- self._proxies = proxies
367- self._transport = transport
368355 self._custom_headers = custom_headers or {}
369356 self._custom_query = custom_query or {}
370357 self._strict_response_validation = _strict_response_validation
@@ -800,46 +787,11 @@ def __init__(
800787 base_url: str | URL,
801788 max_retries: int = DEFAULT_MAX_RETRIES,
802789 timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
803- transport: Transport | None = None,
804- proxies: ProxiesTypes | None = None,
805- limits: Limits | None = None,
806790 http_client: httpx.Client | None = None,
807791 custom_headers: Mapping[str, str] | None = None,
808792 custom_query: Mapping[str, object] | None = None,
809793 _strict_response_validation: bool,
810794 ) -> None:
811- kwargs: dict[str, Any] = {}
812- if limits is not None:
813- warnings.warn(
814- "The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
815- category=DeprecationWarning,
816- stacklevel=3,
817- )
818- if http_client is not None:
819- raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
820- else:
821- limits = DEFAULT_CONNECTION_LIMITS
822-
823- if transport is not None:
824- kwargs["transport"] = transport
825- warnings.warn(
826- "The `transport` argument is deprecated. The `http_client` argument should be passed instead",
827- category=DeprecationWarning,
828- stacklevel=3,
829- )
830- if http_client is not None:
831- raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
832-
833- if proxies is not None:
834- kwargs["proxies"] = proxies
835- warnings.warn(
836- "The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
837- category=DeprecationWarning,
838- stacklevel=3,
839- )
840- if http_client is not None:
841- raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
842-
843795 if not is_given(timeout):
844796 # if the user passed in a custom http client with a non-default
845797 # timeout set then we use that timeout.
@@ -860,12 +812,9 @@ def __init__(
860812
861813 super().__init__(
862814 version=version,
863- limits=limits,
864815 # cast to a valid type because mypy doesn't understand our type narrowing
865816 timeout=cast(Timeout, timeout),
866- proxies=proxies,
867817 base_url=base_url,
868- transport=transport,
869818 max_retries=max_retries,
870819 custom_query=custom_query,
871820 custom_headers=custom_headers,
@@ -875,9 +824,6 @@ def __init__(
875824 base_url=base_url,
876825 # cast to a valid type because mypy doesn't understand our type narrowing
877826 timeout=cast(Timeout, timeout),
878- limits=limits,
879- follow_redirects=True,
880- **kwargs, # type: ignore
881827 )
882828
883829 def is_closed(self) -> bool:
@@ -1372,45 +1318,10 @@ def __init__(
13721318 _strict_response_validation: bool,
13731319 max_retries: int = DEFAULT_MAX_RETRIES,
13741320 timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
1375- transport: AsyncTransport | None = None,
1376- proxies: ProxiesTypes | None = None,
1377- limits: Limits | None = None,
13781321 http_client: httpx.AsyncClient | None = None,
13791322 custom_headers: Mapping[str, str] | None = None,
13801323 custom_query: Mapping[str, object] | None = None,
13811324 ) -> None:
1382- kwargs: dict[str, Any] = {}
1383- if limits is not None:
1384- warnings.warn(
1385- "The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
1386- category=DeprecationWarning,
1387- stacklevel=3,
1388- )
1389- if http_client is not None:
1390- raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
1391- else:
1392- limits = DEFAULT_CONNECTION_LIMITS
1393-
1394- if transport is not None:
1395- kwargs["transport"] = transport
1396- warnings.warn(
1397- "The `transport` argument is deprecated. The `http_client` argument should be passed instead",
1398- category=DeprecationWarning,
1399- stacklevel=3,
1400- )
1401- if http_client is not None:
1402- raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
1403-
1404- if proxies is not None:
1405- kwargs["proxies"] = proxies
1406- warnings.warn(
1407- "The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
1408- category=DeprecationWarning,
1409- stacklevel=3,
1410- )
1411- if http_client is not None:
1412- raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
1413-
14141325 if not is_given(timeout):
14151326 # if the user passed in a custom http client with a non-default
14161327 # timeout set then we use that timeout.
@@ -1432,11 +1343,8 @@ def __init__(
14321343 super().__init__(
14331344 version=version,
14341345 base_url=base_url,
1435- limits=limits,
14361346 # cast to a valid type because mypy doesn't understand our type narrowing
14371347 timeout=cast(Timeout, timeout),
1438- proxies=proxies,
1439- transport=transport,
14401348 max_retries=max_retries,
14411349 custom_query=custom_query,
14421350 custom_headers=custom_headers,
@@ -1446,9 +1354,6 @@ def __init__(
14461354 base_url=base_url,
14471355 # cast to a valid type because mypy doesn't understand our type narrowing
14481356 timeout=cast(Timeout, timeout),
1449- limits=limits,
1450- follow_redirects=True,
1451- **kwargs, # type: ignore
14521357 )
14531358
14541359 def is_closed(self) -> bool:
0 commit comments