Compare commits

...
Author SHA1 Message Date
William Fu-Hinthorn 5f4ce789bd Verify 2025-12-30 19:16:25 +09:00
+26 -2
View File
@@ -14,6 +14,7 @@ import functools
import logging import logging
import os import os
import re import re
import ssl
import sys import sys
import warnings import warnings
from collections.abc import AsyncIterator, Callable, Iterator, Mapping, Sequence from collections.abc import AsyncIterator, Callable, Iterator, Mapping, Sequence
@@ -180,6 +181,7 @@ def get_client(
api_key: str | None = NOT_PROVIDED, api_key: str | None = NOT_PROVIDED,
headers: Mapping[str, str] | None = None, headers: Mapping[str, str] | None = None,
timeout: TimeoutTypes | None = None, timeout: TimeoutTypes | None = None,
verify: VerifyTypes | None = NOT_PROVIDED,
) -> LangGraphClient: ) -> LangGraphClient:
"""Create and configure a LangGraphClient. """Create and configure a LangGraphClient.
@@ -208,6 +210,13 @@ def get_client(
- float (total seconds) - float (total seconds)
- tuple `(connect, read, write, pool)` in seconds - tuple `(connect, read, write, pool)` in seconds
Defaults: connect=5, read=300, write=300, pool=5. Defaults: connect=5, read=300, write=300, pool=5.
verify:
SSL certificate verification. May be:
- `True`: verify SSL certificates using system CA bundle
- `False`: disable SSL verification (not recommended for production)
- `str`: path to a CA bundle file or directory
- `ssl.SSLContext`: custom SSL context for full control
- Not provided (default): uses httpx default
Returns: Returns:
LangGraphClient: LangGraphClient:
@@ -274,7 +283,10 @@ def get_client(
_registered_transports.append(transport) _registered_transports.append(transport)
if transport is None: if transport is None:
transport = httpx.AsyncHTTPTransport(retries=5) transport_kwargs: dict[str, Any] = {"retries": 5}
if verify is not NOT_PROVIDED:
transport_kwargs["verify"] = verify
transport = httpx.AsyncHTTPTransport(**transport_kwargs)
client = httpx.AsyncClient( client = httpx.AsyncClient(
base_url=url, base_url=url,
transport=transport, transport=transport,
@@ -3571,6 +3583,7 @@ def get_sync_client(
api_key: str | None = NOT_PROVIDED, api_key: str | None = NOT_PROVIDED,
headers: Mapping[str, str] | None = None, headers: Mapping[str, str] | None = None,
timeout: TimeoutTypes | None = None, timeout: TimeoutTypes | None = None,
verify: VerifyTypes | None = NOT_PROVIDED,
) -> SyncLangGraphClient: ) -> SyncLangGraphClient:
"""Get a synchronous LangGraphClient instance. """Get a synchronous LangGraphClient instance.
@@ -3588,6 +3601,12 @@ def get_sync_client(
Accepts an httpx.Timeout instance, a float (seconds), or a tuple of timeouts. Accepts an httpx.Timeout instance, a float (seconds), or a tuple of timeouts.
Tuple format is (connect, read, write, pool) Tuple format is (connect, read, write, pool)
If not provided, defaults to connect=5s, read=300s, write=300s, and pool=5s. If not provided, defaults to connect=5s, read=300s, write=300s, and pool=5s.
verify: SSL certificate verification. Can be:
- `True`: verify SSL certificates using system CA bundle
- `False`: disable SSL verification (not recommended for production)
- `str`: path to a CA bundle file or directory
- `ssl.SSLContext`: custom SSL context for full control
- Not provided (default): uses httpx default
Returns: Returns:
SyncLangGraphClient: The top-level synchronous client for accessing AssistantsClient, SyncLangGraphClient: The top-level synchronous client for accessing AssistantsClient,
ThreadsClient, RunsClient, and CronClient. ThreadsClient, RunsClient, and CronClient.
@@ -3620,7 +3639,10 @@ def get_sync_client(
if url is None: if url is None:
url = "http://localhost:8123" url = "http://localhost:8123"
transport = httpx.HTTPTransport(retries=5) transport_kwargs: dict[str, Any] = {"retries": 5}
if verify is not NOT_PROVIDED:
transport_kwargs["verify"] = verify
transport = httpx.HTTPTransport(**transport_kwargs)
client = httpx.Client( client = httpx.Client(
base_url=url, base_url=url,
transport=transport, transport=transport,
@@ -6885,3 +6907,5 @@ TimeoutTypes = (
| tuple[float | None, float | None, float | None, float | None] | tuple[float | None, float | None, float | None, float | None]
| httpx.Timeout | httpx.Timeout
) )
VerifyTypes = bool | str | ssl.SSLContext