From 703a61e6805fcd437a7293d73ea5f78408a05d1a Mon Sep 17 00:00:00 2001 From: Cosmin Maria Date: Thu, 19 Feb 2026 01:11:56 +0200 Subject: [PATCH 1/6] fix typing of request timeout --- packages/uipath_langchain_client/CHANGELOG.md | 5 +++++ .../src/uipath_langchain_client/__version__.py | 2 +- .../src/uipath_langchain_client/base_client.py | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/uipath_langchain_client/CHANGELOG.md b/packages/uipath_langchain_client/CHANGELOG.md index 03d51be..1072d39 100644 --- a/packages/uipath_langchain_client/CHANGELOG.md +++ b/packages/uipath_langchain_client/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to `uipath_langchain_client` will be documented in this file. +## [1.2.1] - 2026-02-18 + +### Fix +- fix typing of request timeout from int to float + ## [1.2.0] - 2026-02-18 ### Stable release diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py b/packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py index 9c84475..45bcba8 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/__version__.py @@ -1,3 +1,3 @@ __title__ = "UiPath LangChain Client" __description__ = "A Python client for interacting with UiPath's LLM services via LangChain." -__version__ = "1.2.0" +__version__ = "1.2.1" diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/base_client.py b/packages/uipath_langchain_client/src/uipath_langchain_client/base_client.py index 1c40dcd..e084577 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/base_client.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/base_client.py @@ -99,7 +99,7 @@ class UiPathBaseLLMClient(BaseModel, ABC): }, description="Default request headers to include in requests", ) - request_timeout: int | None = Field( + request_timeout: float | None = Field( alias="timeout", validation_alias=AliasChoices("timeout", "request_timeout", "default_request_timeout"), default=None, From c9c6549fe8118112f624d36f9a0e7302ebd5d485 Mon Sep 17 00:00:00 2001 From: Cosmin Maria Date: Thu, 19 Feb 2026 01:58:38 +0200 Subject: [PATCH 2/6] timeout fixes --- .../clients/anthropic/chat_models.py | 8 -------- .../clients/fireworks/embeddings.py | 2 -- .../uipath_langchain_client/clients/google/chat_models.py | 1 - .../uipath_langchain_client/clients/google/embeddings.py | 1 - .../uipath_langchain_client/clients/openai/chat_models.py | 4 ---- .../uipath_langchain_client/clients/openai/embeddings.py | 4 ---- .../clients/vertexai/chat_models.py | 2 -- src/uipath_llm_client/clients/anthropic/client.py | 8 -------- src/uipath_llm_client/clients/google/client.py | 1 - src/uipath_llm_client/clients/openai/client.py | 4 ---- src/uipath_llm_client/utils/ssl_config.py | 2 +- 11 files changed, 1 insertion(+), 36 deletions(-) diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/anthropic/chat_models.py b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/anthropic/chat_models.py index c50ae40..cd09658 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/anthropic/chat_models.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/anthropic/chat_models.py @@ -66,7 +66,6 @@ def _anthropic_client( base_url=str(self.uipath_sync_client.base_url), default_headers=dict(self.uipath_sync_client.headers), max_retries=0, # handled by the UiPathBaseLLMClient - timeout=None, # handled by the UiPathBaseLLMClient http_client=self.uipath_sync_client, ) case "vertexai": @@ -76,7 +75,6 @@ def _anthropic_client( access_token="PLACEHOLDER", base_url=str(self.uipath_sync_client.base_url), default_headers=dict(self.uipath_sync_client.headers), - timeout=None, # handled by the UiPathBaseLLMClient max_retries=0, # handled by the UiPathBaseLLMClient http_client=self.uipath_sync_client, ) @@ -87,7 +85,6 @@ def _anthropic_client( aws_region="PLACEHOLDER", base_url=str(self.uipath_sync_client.base_url), default_headers=dict(self.uipath_sync_client.headers), - timeout=None, # handled by the UiPathBaseLLMClient max_retries=0, # handled by the UiPathBaseLLMClient http_client=self.uipath_sync_client, ) @@ -96,7 +93,6 @@ def _anthropic_client( api_key="PLACEHOLDER", base_url=str(self.uipath_sync_client.base_url), default_headers=dict(self.uipath_sync_client.headers), - timeout=None, # handled by the UiPathBaseLLMClient max_retries=0, # handled by the UiPathBaseLLMClient http_client=self.uipath_sync_client, ) @@ -112,7 +108,6 @@ def _async_anthropic_client( base_url=str(self.uipath_async_client.base_url), default_headers=dict(self.uipath_async_client.headers), max_retries=0, # handled by the UiPathBaseLLMClient - timeout=None, # handled by the UiPathBaseLLMClient http_client=self.uipath_async_client, ) case "vertexai": @@ -122,7 +117,6 @@ def _async_anthropic_client( access_token="PLACEHOLDER", base_url=str(self.uipath_async_client.base_url), default_headers=dict(self.uipath_async_client.headers), - timeout=None, # handled by the UiPathBaseLLMClient max_retries=0, # handled by the UiPathBaseLLMClient http_client=self.uipath_async_client, ) @@ -133,7 +127,6 @@ def _async_anthropic_client( aws_region="PLACEHOLDER", base_url=str(self.uipath_async_client.base_url), default_headers=dict(self.uipath_async_client.headers), - timeout=None, # handled by the UiPathBaseLLMClient max_retries=0, # handled by the UiPathBaseLLMClient http_client=self.uipath_async_client, ) @@ -142,7 +135,6 @@ def _async_anthropic_client( api_key="PLACEHOLDER", base_url=str(self.uipath_async_client.base_url), default_headers=dict(self.uipath_async_client.headers), - timeout=None, # handled by the UiPathBaseLLMClient max_retries=0, # handled by the UiPathBaseLLMClient http_client=self.uipath_async_client, ) diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/fireworks/embeddings.py b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/fireworks/embeddings.py index 1a8d4c9..7f1247a 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/fireworks/embeddings.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/fireworks/embeddings.py @@ -29,13 +29,11 @@ class UiPathFireworksEmbeddings(UiPathBaseLLMClient, FireworksEmbeddings): def setup_uipath_client(self) -> Self: self.client = OpenAI( api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_sync_client, ) self.async_client = AsyncOpenAI( api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_async_client, ) diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/chat_models.py b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/chat_models.py index 658ebc6..93e2220 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/chat_models.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/chat_models.py @@ -51,7 +51,6 @@ async def fix_url_for_streaming_async(request: Request): http_options=HttpOptions( base_url=str(self.uipath_sync_client.base_url), headers=dict(self.uipath_sync_client.headers), - timeout=None, # handled by the UiPath client retry_options=None, # handled by the UiPath client httpx_client=self.uipath_sync_client, httpx_async_client=self.uipath_async_client, diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/embeddings.py b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/embeddings.py index e5974e1..272e3a0 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/embeddings.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/google/embeddings.py @@ -34,7 +34,6 @@ def setup_uipath_client(self) -> Self: vertexai=True, api_key="PLACEHOLDER", http_options=HttpOptions( - timeout=None, # handled by the UiPath client retry_options=None, # handled by the UiPath client base_url=str(self.uipath_sync_client.base_url), headers=dict(self.uipath_sync_client.headers), diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/chat_models.py b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/chat_models.py index e2e0ccd..31bfd71 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/chat_models.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/chat_models.py @@ -56,13 +56,11 @@ async def fix_url_and_api_flavor_header_async(request: Request): self.root_client = OpenAI( api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_sync_client, ) self.root_async_client = AsyncOpenAI( api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_async_client, ) @@ -111,7 +109,6 @@ async def fix_url_and_api_flavor_header_async(request: Request): azure_endpoint="PLACEHOLDER", api_version="PLACEHOLDER", api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_sync_client, ) @@ -119,7 +116,6 @@ async def fix_url_and_api_flavor_header_async(request: Request): azure_endpoint="PLACEHOLDER", api_version="PLACEHOLDER", api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_async_client, ) diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/embeddings.py b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/embeddings.py index 2531165..d8f8f35 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/embeddings.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/openai/embeddings.py @@ -35,13 +35,11 @@ class UiPathOpenAIEmbeddings(UiPathBaseLLMClient, OpenAIEmbeddings): def setup_uipath_client(self) -> Self: self.client = OpenAI( api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_sync_client, ).embeddings self.async_client = AsyncOpenAI( api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_async_client, ).embeddings @@ -69,7 +67,6 @@ def setup_uipath_client(self) -> Self: azure_endpoint="PLACEHOLDER", api_version="PLACEHOLDER", api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_sync_client, ).embeddings @@ -77,7 +74,6 @@ def setup_uipath_client(self) -> Self: azure_endpoint="PLACEHOLDER", api_version="PLACEHOLDER", api_key="PLACEHOLDER", - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_async_client, ).embeddings diff --git a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/vertexai/chat_models.py b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/vertexai/chat_models.py index cad4f4b..c2309d7 100644 --- a/packages/uipath_langchain_client/src/uipath_langchain_client/clients/vertexai/chat_models.py +++ b/packages/uipath_langchain_client/src/uipath_langchain_client/clients/vertexai/chat_models.py @@ -36,7 +36,6 @@ def setup_uipath_client(self) -> Self: access_token="PLACEHOLDER", base_url=str(self.uipath_sync_client.base_url), default_headers=self.uipath_sync_client.headers, - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_sync_client, ) @@ -46,7 +45,6 @@ def setup_uipath_client(self) -> Self: access_token="PLACEHOLDER", base_url=str(self.uipath_async_client.base_url), default_headers=self.uipath_async_client.headers, - timeout=None, # handled by the UiPath client max_retries=0, # handled by the UiPath client http_client=self.uipath_async_client, ) diff --git a/src/uipath_llm_client/clients/anthropic/client.py b/src/uipath_llm_client/clients/anthropic/client.py index 4aa7b0d..b771957 100644 --- a/src/uipath_llm_client/clients/anthropic/client.py +++ b/src/uipath_llm_client/clients/anthropic/client.py @@ -97,7 +97,6 @@ def __init__( ) super().__init__( api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, @@ -148,7 +147,6 @@ def __init__( ) super().__init__( api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, @@ -201,7 +199,6 @@ def __init__( aws_access_key="PLACEHOLDER", aws_secret_key="PLACEHOLDER", aws_region="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, @@ -254,7 +251,6 @@ def __init__( aws_access_key="PLACEHOLDER", aws_secret_key="PLACEHOLDER", aws_region="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, @@ -307,7 +303,6 @@ def __init__( region="PLACEHOLDER", project_id="PLACEHOLDER", access_token="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, @@ -360,7 +355,6 @@ def __init__( region="PLACEHOLDER", project_id="PLACEHOLDER", access_token="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, @@ -411,7 +405,6 @@ def __init__( ) super().__init__( api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, @@ -462,7 +455,6 @@ def __init__( ) super().__init__( api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, **kwargs, diff --git a/src/uipath_llm_client/clients/google/client.py b/src/uipath_llm_client/clients/google/client.py index 0e7ec06..e9c4658 100644 --- a/src/uipath_llm_client/clients/google/client.py +++ b/src/uipath_llm_client/clients/google/client.py @@ -74,7 +74,6 @@ def __init__( http_options=HttpOptions( base_url=str(httpx_client.base_url), headers=dict(httpx_client.headers), - timeout=None, # handled by the UiPath client retry_options=None, # handled by the UiPath client httpx_client=httpx_client, httpx_async_client=httpx_async_client, diff --git a/src/uipath_llm_client/clients/openai/client.py b/src/uipath_llm_client/clients/openai/client.py index 3d5722f..7b42d85 100644 --- a/src/uipath_llm_client/clients/openai/client.py +++ b/src/uipath_llm_client/clients/openai/client.py @@ -50,7 +50,6 @@ def __init__( ) super().__init__( api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, ) @@ -90,7 +89,6 @@ def __init__( ) super().__init__( api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, ) @@ -132,7 +130,6 @@ def __init__( azure_endpoint="PLACEHOLDER", api_version="PLACEHOLDER", api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, ) @@ -174,7 +171,6 @@ def __init__( azure_endpoint="PLACEHOLDER", api_version="PLACEHOLDER", api_key="PLACEHOLDER", - timeout=None, max_retries=0, http_client=httpx_client, ) diff --git a/src/uipath_llm_client/utils/ssl_config.py b/src/uipath_llm_client/utils/ssl_config.py index 7ee30d6..31d3c61 100644 --- a/src/uipath_llm_client/utils/ssl_config.py +++ b/src/uipath_llm_client/utils/ssl_config.py @@ -36,7 +36,7 @@ def create_ssl_context(): def get_httpx_ssl_client_kwargs() -> dict[str, Any]: """Get standardized httpx client configuration.""" - client_kwargs: dict[str, Any] = {"follow_redirects": True, "timeout": 30.0} + client_kwargs: dict[str, Any] = {"follow_redirects": True} # Check environment variable to disable SSL verification disable_ssl_env = os.environ.get("UIPATH_DISABLE_SSL_VERIFY", "").lower() From f0384ff690bef0b8ae85c145125460e958985463 Mon Sep 17 00:00:00 2001 From: Cosmin Maria Date: Thu, 19 Feb 2026 02:00:47 +0200 Subject: [PATCH 3/6] version bump --- CHANGELOG.md | 5 ++ packages/uipath_langchain_client/CHANGELOG.md | 2 +- .../uipath_langchain_client/pyproject.toml | 2 +- src/uipath_llm_client/__version__.py | 2 +- uv.lock | 72 +++++++++---------- 5 files changed, 44 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2b720f..69924b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to `uipath_llm_client` (core package) will be documented in this file. +## [1.2.1] - 2026-02-18 + +### Fix +- TImeout fixes, remove timeout=None from all clients -> caused overriding the default timeout set up on the UiPathHttpxClient + ## [1.2.0] - 2026-02-18 ### Stable release diff --git a/packages/uipath_langchain_client/CHANGELOG.md b/packages/uipath_langchain_client/CHANGELOG.md index 1072d39..a8d9e78 100644 --- a/packages/uipath_langchain_client/CHANGELOG.md +++ b/packages/uipath_langchain_client/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to `uipath_langchain_client` will be documented in this file ## [1.2.1] - 2026-02-18 ### Fix -- fix typing of request timeout from int to float +- TImeout fixes, remove timeout=None from all clients -> caused overriding the default timeout set up on the UiPathHttpxClient ## [1.2.0] - 2026-02-18 diff --git a/packages/uipath_langchain_client/pyproject.toml b/packages/uipath_langchain_client/pyproject.toml index 2301bd9..96ec93f 100644 --- a/packages/uipath_langchain_client/pyproject.toml +++ b/packages/uipath_langchain_client/pyproject.toml @@ -6,7 +6,7 @@ readme = "README.md" requires-python = ">=3.11" dependencies = [ "langchain>=1.2.7", - "uipath-llm-client>=1.2.0", + "uipath-llm-client>=1.2.1", ] [project.optional-dependencies] diff --git a/src/uipath_llm_client/__version__.py b/src/uipath_llm_client/__version__.py index b604279..c9124d7 100644 --- a/src/uipath_llm_client/__version__.py +++ b/src/uipath_llm_client/__version__.py @@ -1,3 +1,3 @@ __titile__ = "UiPath LLM Client" __description__ = "A Python client for interacting with UiPath's LLM services." -__version__ = "1.2.0" +__version__ = "1.2.1" diff --git a/uv.lock b/uv.lock index 65bb9f9..f417f7a 100644 --- a/uv.lock +++ b/uv.lock @@ -148,7 +148,7 @@ wheels = [ [[package]] name = "anthropic" -version = "0.81.0" +version = "0.82.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -160,9 +160,9 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f3/c2/d2bb9b3c82c386abf3b2c32ae0452a8dcb89ed2809d875e1420bea22e318/anthropic-0.81.0.tar.gz", hash = "sha256:bab2d4e45c2e81a0668fdc2da2f7fd665ed8a0295ba3c86450f9dcc3a7804524", size = 532935, upload-time = "2026-02-18T04:00:54.658Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/94/3766b5414d9e35687d518943a5b2ffb2696cd5c53248eec13fa1e8a5c73d/anthropic-0.82.0.tar.gz", hash = "sha256:e217340ba40cb9e24c88aacccc365334a6c3f46778855eca5000a6aa83d73dde", size = 533270, upload-time = "2026-02-18T20:25:16.844Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/27/a18e1613da66b3c9c7565c92457a60de15e824a6dd2ed9bce0fbfe615ded/anthropic-0.81.0-py3-none-any.whl", hash = "sha256:ac54407e9a1f9b35e6e6c86f75bf403f0e54d60944f99f15f685a38d6829f20b", size = 455627, upload-time = "2026-02-18T04:00:53.207Z" }, + { url = "https://files.pythonhosted.org/packages/5c/49/b570250e36471effbc146d22ffb111e775f11ff2d8b503b32526f25a8f23/anthropic-0.82.0-py3-none-any.whl", hash = "sha256:2525828b6798635a7a691c4c62d49bd10bbd288ab83fa4ba55851264dfa5377d", size = 456304, upload-time = "2026-02-18T20:25:18.788Z" }, ] [package.optional-dependencies] @@ -265,15 +265,15 @@ wheels = [ [[package]] name = "azure-core" -version = "1.38.1" +version = "1.38.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "requests" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/53/9b/23893febea484ad8183112c9419b5eb904773adb871492b5fa8ff7b21e09/azure_core-1.38.1.tar.gz", hash = "sha256:9317db1d838e39877eb94a2240ce92fa607db68adf821817b723f0d679facbf6", size = 363323, upload-time = "2026-02-11T02:03:06.051Z" } +sdist = { url = "https://files.pythonhosted.org/packages/00/fe/5c7710bc611a4070d06ba801de9a935cc87c3d4b689c644958047bdf2cba/azure_core-1.38.2.tar.gz", hash = "sha256:67562857cb979217e48dc60980243b61ea115b77326fa93d83b729e7ff0482e7", size = 363734, upload-time = "2026-02-18T19:33:05.6Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/db/88/aaea2ad269ce70b446660371286272c1f6ba66541a7f6f635baf8b0db726/azure_core-1.38.1-py3-none-any.whl", hash = "sha256:69f08ee3d55136071b7100de5b198994fc1c5f89d2b91f2f43156d20fcf200a4", size = 217930, upload-time = "2026-02-11T02:03:07.548Z" }, + { url = "https://files.pythonhosted.org/packages/42/23/6371a551800d3812d6019cd813acd985f9fac0fedc1290129211a73da4ae/azure_core-1.38.2-py3-none-any.whl", hash = "sha256:074806c75cf239ea284a33a66827695ef7aeddac0b4e19dda266a93e4665ead9", size = 217957, upload-time = "2026-02-18T19:33:07.696Z" }, ] [[package]] @@ -359,30 +359,30 @@ wheels = [ [[package]] name = "boto3" -version = "1.42.51" +version = "1.42.52" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore" }, { name = "jmespath" }, { name = "s3transfer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f9/2d/9a068638984b3a86d583a076bf7e4680b061cf447a589dcce22452170198/boto3-1.42.51.tar.gz", hash = "sha256:a010376cdc2432faa6c3338f04591142a1374da1b7eba94b80c0c7f1b525eff7", size = 112829, upload-time = "2026-02-17T21:05:33.784Z" } +sdist = { url = "https://files.pythonhosted.org/packages/41/ed/8eacb8ec7bf264079608be5f9a2a57e31e7fed7a791bb3b15500ca9274a5/boto3-1.42.52.tar.gz", hash = "sha256:ff4a4afb832f63a1358e11fe6eb321da0f4767979c6721dd32fb02e6eabcebf5", size = 112811, upload-time = "2026-02-18T21:54:57.804Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/0e/2fdbee8be43b013e4e970138d7e2d9fc424f9210d4651efc8e8e13c3a6fa/boto3-1.42.51-py3-none-any.whl", hash = "sha256:c3e75ab1c4df6b1049aecfae56d15f5ff99d68ec6a05f24741bab08ad5d5406e", size = 140604, upload-time = "2026-02-17T21:05:30.879Z" }, + { url = "https://files.pythonhosted.org/packages/2d/2a/de34ad6c43c56fe6dd5824bff2cd7fdef5edd9de0617cbd217040318ba97/boto3-1.42.52-py3-none-any.whl", hash = "sha256:7b3e0c4bfd8815a3df64fbe98fc9f87dfb12bd7a783cf63dfc2f166c66798c9d", size = 140556, upload-time = "2026-02-18T21:54:56.609Z" }, ] [[package]] name = "botocore" -version = "1.42.51" +version = "1.42.52" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d6/c5/bbe1893555a0cfa35b580df47dbd9512379400e49f918a096ad739cd0872/botocore-1.42.51.tar.gz", hash = "sha256:d7b03905b8066c25dd5bde1b7dc4af15ebdbaa313abbb2543db179b1d5efae3d", size = 14915824, upload-time = "2026-02-17T21:05:19.271Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/37/7044e09d416ff746d23c7456e8c30ddade1154ecd08814b17ab7e2c20fb0/botocore-1.42.52.tar.gz", hash = "sha256:3bdef10aee4cee13ff019b6a1423a2ce3ca17352328d9918157a1829e5cc9be1", size = 14917923, upload-time = "2026-02-18T21:54:48.06Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/95/16ebc93b4a2e5cab7d12107ab683c29d0acfd02e8e80b59e03d2166c2c86/botocore-1.42.51-py3-none-any.whl", hash = "sha256:216c4c148f37f882c7239fce1d8023acdc664643952ce1d6827c7edc829903d3", size = 14588819, upload-time = "2026-02-17T21:05:16.616Z" }, + { url = "https://files.pythonhosted.org/packages/94/67/bbd723d489b25ff9f94a734e734986bb8343263dd024a3846291028c26d0/botocore-1.42.52-py3-none-any.whl", hash = "sha256:c3a0b7138a4c5a534da0eb2444c19763b4d03ba2190c0602c49315e54efd7252", size = 14588731, upload-time = "2026-02-18T21:54:45.532Z" }, ] [[package]] @@ -919,7 +919,7 @@ wheels = [ [[package]] name = "google-api-core" -version = "2.29.0" +version = "2.30.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-auth" }, @@ -928,9 +928,9 @@ dependencies = [ { name = "protobuf" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0d/10/05572d33273292bac49c2d1785925f7bc3ff2fe50e3044cf1062c1dde32e/google_api_core-2.29.0.tar.gz", hash = "sha256:84181be0f8e6b04006df75ddfe728f24489f0af57c96a529ff7cf45bc28797f7", size = 177828, upload-time = "2026-01-08T22:21:39.269Z" } +sdist = { url = "https://files.pythonhosted.org/packages/22/98/586ec94553b569080caef635f98a3723db36a38eac0e3d7eb3ea9d2e4b9a/google_api_core-2.30.0.tar.gz", hash = "sha256:02edfa9fab31e17fc0befb5f161b3bf93c9096d99aed584625f38065c511ad9b", size = 176959, upload-time = "2026-02-18T20:28:11.926Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/b6/85c4d21067220b9a78cfb81f516f9725ea6befc1544ec9bd2c1acd97c324/google_api_core-2.29.0-py3-none-any.whl", hash = "sha256:d30bc60980daa36e314b5d5a3e5958b0200cb44ca8fa1be2b614e932b75a3ea9", size = 173906, upload-time = "2026-01-08T22:21:36.093Z" }, + { url = "https://files.pythonhosted.org/packages/45/27/09c33d67f7e0dcf06d7ac17d196594e66989299374bfb0d4331d1038e76b/google_api_core-2.30.0-py3-none-any.whl", hash = "sha256:80be49ee937ff9aba0fd79a6eddfde35fe658b9953ab9b79c57dd7061afa8df5", size = 173288, upload-time = "2026-02-18T20:28:10.367Z" }, ] [package.optional-dependencies] @@ -1599,7 +1599,7 @@ wheels = [ [[package]] name = "langchain-tests" -version = "1.1.4" +version = "1.1.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, @@ -1614,9 +1614,9 @@ dependencies = [ { name = "syrupy" }, { name = "vcrpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/84/7002cb448cf879d59c32dd9741ba3ed68df0926433b8d0a81b54e080c66e/langchain_tests-1.1.4.tar.gz", hash = "sha256:b066e2eace946e6f7af12fd181898ba5681fea3fe8522511575c2270d74d75b2", size = 154162, upload-time = "2026-02-06T18:46:22.001Z" } +sdist = { url = "https://files.pythonhosted.org/packages/21/94/e626a40c14a5bc7b60563446a23330a06654d0b1e3804109ed792ca0c638/langchain_tests-1.1.5.tar.gz", hash = "sha256:add75c24ea4aacb5f4efa02670fcceee5d5276848586f724e90135da6d3e070e", size = 154114, upload-time = "2026-02-18T16:08:31.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/be/6823bf99e11ce7dc61d3bd295c1a6d2f19de0a36af2f20bedc5417a53ce6/langchain_tests-1.1.4-py3-none-any.whl", hash = "sha256:f7efff221ec99a1e7bb6a28c35b78309c71f312d9719982bdf36cc435e8f5b38", size = 55172, upload-time = "2026-02-06T18:46:20.7Z" }, + { url = "https://files.pythonhosted.org/packages/5f/2c/c7641310171ed49d1e603c56ce38a9f3e157c23257b226f69ce5cb6a7428/langchain_tests-1.1.5-py3-none-any.whl", hash = "sha256:535429fb31d17a6cf8d7f61a3f81013a650f090c0f57b4daf1a03be7771d61ff", size = 55731, upload-time = "2026-02-18T16:08:30.811Z" }, ] [[package]] @@ -1664,15 +1664,15 @@ wheels = [ [[package]] name = "langgraph-sdk" -version = "0.3.6" +version = "0.3.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, { name = "orjson" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3e/ec/477fa8b408f948b145d90fd935c0a9f37945fa5ec1dfabfc71e7cafba6d8/langgraph_sdk-0.3.6.tar.gz", hash = "sha256:7650f607f89c1586db5bee391b1a8754cbe1fc83b721ff2f1450f8906e790bd7", size = 182666, upload-time = "2026-02-14T19:46:03.752Z" } +sdist = { url = "https://files.pythonhosted.org/packages/27/69/10f40d41741e2956859ba5dcbdf9ab409908dbbd254335bee0e7209813a2/langgraph_sdk-0.3.7.tar.gz", hash = "sha256:52b82536c6662658822b72fe7089fea74a477f9f64780462e46c8a122371e3d3", size = 182547, upload-time = "2026-02-18T19:17:35.227Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d8/61/12508e12652edd1874327271a5a8834c728a605f53a1a1c945f13ab69664/langgraph_sdk-0.3.6-py3-none-any.whl", hash = "sha256:7df2fd552ad7262d0baf8e1f849dce1d62186e76dcdd36db9dc5bdfa5c3fc20f", size = 88277, upload-time = "2026-02-14T19:46:02.48Z" }, + { url = "https://files.pythonhosted.org/packages/c2/5f/f0a73e0e2ec316ad96db662f0038a251f74ca1e412c0798391c1a3925a0b/langgraph_sdk-0.3.7-py3-none-any.whl", hash = "sha256:8824df0f5dcfb2eab6d3c7ef00cf01bca1d1411afaa6c7dbc68cc46bca7d7b56", size = 88365, upload-time = "2026-02-18T19:17:34.102Z" }, ] [[package]] @@ -2787,7 +2787,7 @@ wheels = [ [[package]] name = "pytest" -version = "8.4.2" +version = "9.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -2796,9 +2796,9 @@ dependencies = [ { name = "pluggy" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, ] [[package]] @@ -3202,14 +3202,14 @@ wheels = [ [[package]] name = "syrupy" -version = "4.9.1" +version = "5.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytest" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8c/f8/022d8704a3314f3e96dbd6bbd16ebe119ce30e35f41aabfa92345652fceb/syrupy-4.9.1.tar.gz", hash = "sha256:b7d0fcadad80a7d2f6c4c71917918e8ebe2483e8c703dfc8d49cdbb01081f9a4", size = 52492, upload-time = "2025-03-24T01:36:37.225Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/b0/24bca682d6a6337854be37f242d116cceeda9942571d5804c44bc1bdd427/syrupy-5.1.0.tar.gz", hash = "sha256:df543c7aa50d3cf1246e83d58fe490afe5f7dab7b41e74ecc0d8d23ae19bd4b8", size = 50495, upload-time = "2026-01-25T14:53:06.2Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/9d/aef9ec5fd5a4ee2f6a96032c4eda5888c5c7cec65cef6b28c4fc37671d88/syrupy-4.9.1-py3-none-any.whl", hash = "sha256:b94cc12ed0e5e75b448255430af642516842a2374a46936dd2650cfb6dd20eda", size = 52214, upload-time = "2025-03-24T01:36:35.278Z" }, + { url = "https://files.pythonhosted.org/packages/de/70/cf880c3b95a6034ef673e74b369941b42315c01f1554a5637a4f8b911009/syrupy-5.1.0-py3-none-any.whl", hash = "sha256:95162d2b05e61ed3e13f117b88dfab7c58bd6f90e66ebbf918e8a77114ad51c5", size = 51658, upload-time = "2026-01-25T14:53:05.105Z" }, ] [[package]] @@ -3319,7 +3319,7 @@ wheels = [ [[package]] name = "uipath" -version = "2.8.39" +version = "2.8.41" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "applicationinsights" }, @@ -3341,23 +3341,23 @@ dependencies = [ { name = "uipath-core" }, { name = "uipath-runtime" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bd/76/ebf085b05e87db8fa55d07f325208c1ef70e3a23184e60132617990412c4/uipath-2.8.39.tar.gz", hash = "sha256:5dc9b2801cae4a1fe30809c1379c9adb13f49ce5d892e8d948900f8a24bb3580", size = 4365544, upload-time = "2026-02-17T15:11:44.036Z" } +sdist = { url = "https://files.pythonhosted.org/packages/70/bc/a14486bd49814f99c7c96ff484a8c0ad686360db456e713e002384c89463/uipath-2.8.41.tar.gz", hash = "sha256:4f2cbd3ab4f61a429bebaa84e63eeb67411a7b5bc0bdd3e75aaed1ca283adc4a", size = 4580851, upload-time = "2026-02-18T22:29:47.725Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/85/290786a30b0b8869be38dea2098f78d4d9ab308623acce7b9fa923a95701/uipath-2.8.39-py3-none-any.whl", hash = "sha256:adeb3bad743bd303840c338b33b777c705cbb57bf619957d927c0e91e462eae4", size = 482803, upload-time = "2026-02-17T15:11:42.425Z" }, + { url = "https://files.pythonhosted.org/packages/ec/53/81e0e57b95c6899b078c6a46445103b08368cb42a8a3fa1c2d8775dd760a/uipath-2.8.41-py3-none-any.whl", hash = "sha256:409b33bbc433997957aa92b03e3e4f7dc11d400a9da115edd0a40ac9bd6a5249", size = 484513, upload-time = "2026-02-18T22:29:46.055Z" }, ] [[package]] name = "uipath-core" -version = "0.4.2" +version = "0.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "opentelemetry-instrumentation" }, { name = "opentelemetry-sdk" }, { name = "pydantic" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/05/08/6f1aeaa6d34719311e9877e6f6c370ca15c74a65a27f5353b4d630f53fd8/uipath_core-0.4.2.tar.gz", hash = "sha256:9616e767634534ccc5ffe54ba1b29c646604f4310b211363396f251e384c1304", size = 116491, upload-time = "2026-02-18T12:22:11.165Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/c2/afdf9b6500e5a026c4921dfce2c6f5c586b0114c9d006fd02b31a252c238/uipath_core-0.5.0.tar.gz", hash = "sha256:8035335a1b548475cca7dc99621be644fe0b63f8791c0f01fbb911295cefb143", size = 116691, upload-time = "2026-02-18T21:04:32.815Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/75/d5/6cdecf63c0ae93dfe48d29f9e078df872f64e07f5dc958c1d9aca40fcdf5/uipath_core-0.4.2-py3-none-any.whl", hash = "sha256:617aa90eec65cbb40a497b9022e4e057b252e2701b20e3e98600d638327dbb4d", size = 39095, upload-time = "2026-02-18T12:22:09.662Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b2/fa4b2c77f9fe8c794e1d47083654a32b9e0843e4e353f0df5650b719d189/uipath_core-0.5.0-py3-none-any.whl", hash = "sha256:ae8eb511a8228bdf0b42561eae772404e05431623c1be3cade16d5639fca9cac", size = 39403, upload-time = "2026-02-18T21:04:30.987Z" }, ] [[package]] @@ -3494,14 +3494,14 @@ dev = [ [[package]] name = "uipath-runtime" -version = "0.8.7" +version = "0.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "uipath-core" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/35/78/422fca11d8b2faedd37cc2932b0f1b02242b891d0d92e40f6cd8f712ca11/uipath_runtime-0.8.7.tar.gz", hash = "sha256:6acf57248c6a570238a33e4987622de0955e9f70d088933a1a51fca3481dcccd", size = 109584, upload-time = "2026-02-18T15:13:06.964Z" } +sdist = { url = "https://files.pythonhosted.org/packages/45/ce/82c4edfe6fa11807ea99babf7a53afbced4d3a17b3e020dfa6474ee4d73f/uipath_runtime-0.9.0.tar.gz", hash = "sha256:bc24f6f96fe0ad1d8549b16df51607d4e85558afe04abee294c9dff9790ccc96", size = 109587, upload-time = "2026-02-18T22:04:43.65Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/56/4a/a19b5c35e52cc292c01f0ce055db396f627f787f2d103b3dafd7be142833/uipath_runtime-0.8.7-py3-none-any.whl", hash = "sha256:e5cb848ba57ffa824da02e186e360fcbc1a2fcdb809a392eddd6b8b204bf8b6d", size = 41865, upload-time = "2026-02-18T15:13:05.73Z" }, + { url = "https://files.pythonhosted.org/packages/d7/e7/c8d0bd9316f4a528e36c52971df4dc01f96fbaf716dd62921253c69ab159/uipath_runtime-0.9.0-py3-none-any.whl", hash = "sha256:803010831cdead1d2563eed39025bb555be01626677bb23eecc918981cf93941", size = 41865, upload-time = "2026-02-18T22:04:42.03Z" }, ] [[package]] From d1f8323621fddccda38baa5b7ecad3b5cdb33ecc Mon Sep 17 00:00:00 2001 From: Cosmin Maria Date: Thu, 19 Feb 2026 02:08:27 +0200 Subject: [PATCH 4/6] fixed request timeout --- src/uipath_llm_client/utils/retry.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/uipath_llm_client/utils/retry.py b/src/uipath_llm_client/utils/retry.py index 7c8295b..4109e98 100644 --- a/src/uipath_llm_client/utils/retry.py +++ b/src/uipath_llm_client/utils/retry.py @@ -34,7 +34,7 @@ import logging from typing import Any, Callable, NotRequired -from httpx import AsyncHTTPTransport, HTTPTransport, Request, Response +from httpx import AsyncHTTPTransport, HTTPTransport, Request, Response, TimeoutException from tenacity import ( AsyncRetrying, RetryCallState, @@ -57,7 +57,10 @@ # Default retry configuration values -_DEFAULT_RETRY_ON_EXCEPTIONS: tuple[type[UiPathAPIError], ...] = (UiPathRateLimitError,) +_DEFAULT_RETRY_ON_EXCEPTIONS: tuple[type[Exception], ...] = ( + UiPathRateLimitError, + TimeoutException, +) _DEFAULT_INITIAL_DELAY: float = 2.0 _DEFAULT_MAX_DELAY: float = 60.0 _DEFAULT_EXP_BASE: float = 2.0 From 20d3d4ec5b655530114484450137352143b8b3fb Mon Sep 17 00:00:00 2001 From: Cosmin Maria Date: Thu, 19 Feb 2026 02:11:20 +0200 Subject: [PATCH 5/6] timeout fixes --- CHANGELOG.md | 3 ++- packages/uipath_langchain_client/CHANGELOG.md | 3 ++- src/uipath_llm_client/utils/retry.py | 7 ++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69924b3..2419805 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,8 @@ All notable changes to `uipath_llm_client` (core package) will be documented in ## [1.2.1] - 2026-02-18 ### Fix -- TImeout fixes, remove timeout=None from all clients -> caused overriding the default timeout set up on the UiPathHttpxClient +- TImeout fixes, change typing from int to float +- remove timeout=None from all clients -> caused overriding the default timeout set up on the UiPathHttpxClient ## [1.2.0] - 2026-02-18 diff --git a/packages/uipath_langchain_client/CHANGELOG.md b/packages/uipath_langchain_client/CHANGELOG.md index a8d9e78..569624e 100644 --- a/packages/uipath_langchain_client/CHANGELOG.md +++ b/packages/uipath_langchain_client/CHANGELOG.md @@ -5,7 +5,8 @@ All notable changes to `uipath_langchain_client` will be documented in this file ## [1.2.1] - 2026-02-18 ### Fix -- TImeout fixes, remove timeout=None from all clients -> caused overriding the default timeout set up on the UiPathHttpxClient +- TImeout fixes, change typing from int to float +- remove timeout=None from all clients -> caused overriding the default timeout set up on the UiPathHttpxClient ## [1.2.0] - 2026-02-18 diff --git a/src/uipath_llm_client/utils/retry.py b/src/uipath_llm_client/utils/retry.py index 4109e98..f88a575 100644 --- a/src/uipath_llm_client/utils/retry.py +++ b/src/uipath_llm_client/utils/retry.py @@ -34,7 +34,7 @@ import logging from typing import Any, Callable, NotRequired -from httpx import AsyncHTTPTransport, HTTPTransport, Request, Response, TimeoutException +from httpx import AsyncHTTPTransport, HTTPTransport, Request, Response from tenacity import ( AsyncRetrying, RetryCallState, @@ -57,10 +57,7 @@ # Default retry configuration values -_DEFAULT_RETRY_ON_EXCEPTIONS: tuple[type[Exception], ...] = ( - UiPathRateLimitError, - TimeoutException, -) +_DEFAULT_RETRY_ON_EXCEPTIONS: tuple[type[Exception], ...] = (UiPathRateLimitError,) _DEFAULT_INITIAL_DELAY: float = 2.0 _DEFAULT_MAX_DELAY: float = 60.0 _DEFAULT_EXP_BASE: float = 2.0 From 44868dc00b3354844ffaa1e1be4dee5ffc2e0fcb Mon Sep 17 00:00:00 2001 From: Cosmin Maria Date: Thu, 19 Feb 2026 02:14:00 +0200 Subject: [PATCH 6/6] pipeline fixes --- .github/workflows/cd-langchain.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-langchain.yml b/.github/workflows/cd-langchain.yml index 718d0a8..df8c703 100644 --- a/.github/workflows/cd-langchain.yml +++ b/.github/workflows/cd-langchain.yml @@ -49,7 +49,7 @@ jobs: - name: Wait for package indexing if: github.event_name == 'workflow_run' - run: sleep 60 + run: sleep 120 - name: Setup uv uses: astral-sh/setup-uv@v7