From 052401972ce0abd6d9a280bfb1ecf71289978091 Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 15 Apr 2025 13:35:57 +0200 Subject: [PATCH 1/3] toxgen: Add huggingface_hub --- .github/workflows/test-integrations-ai.yml | 2 +- scripts/populate_tox/populate_tox.py | 1 - tox.ini | 38 +++++++++++++++------- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test-integrations-ai.yml b/.github/workflows/test-integrations-ai.yml index 10171ce196..e497ba4280 100644 --- a/.github/workflows/test-integrations-ai.yml +++ b/.github/workflows/test-integrations-ai.yml @@ -104,7 +104,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8","3.9","3.11","3.12"] + python-version: ["3.8","3.9","3.10","3.11","3.12","3.13"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/scripts/populate_tox/populate_tox.py b/scripts/populate_tox/populate_tox.py index 58dbed0308..381046deaf 100644 --- a/scripts/populate_tox/populate_tox.py +++ b/scripts/populate_tox/populate_tox.py @@ -79,7 +79,6 @@ "gcp", "httpx", "huey", - "huggingface_hub", "langchain", "langchain_notiktoken", "openai", diff --git a/tox.ini b/tox.ini index c04691e2ac..40ece19d03 100644 --- a/tox.ini +++ b/tox.ini @@ -10,7 +10,7 @@ # The file (and all resulting CI YAMLs) then need to be regenerated via # "scripts/generate-test-files.sh". # -# Last generated: 2025-04-08T10:33:11.499210+00:00 +# Last generated: 2025-04-15T11:35:26.105701+00:00 [tox] requires = @@ -151,13 +151,20 @@ envlist = # These come from the populate_tox.py script. Eventually we should move all # integration tests there. + # ~~~ AI ~~~ + {py3.8,py3.10,py3.11}-huggingface_hub-v0.22.2 + {py3.8,py3.10,py3.11}-huggingface_hub-v0.25.2 + {py3.8,py3.12,py3.13}-huggingface_hub-v0.28.1 + {py3.8,py3.12,py3.13}-huggingface_hub-v0.30.2 + + # ~~~ DBs ~~~ {py3.7,py3.11,py3.12}-clickhouse_driver-v0.2.9 {py3.6}-pymongo-v3.5.1 {py3.6,py3.10,py3.11}-pymongo-v3.13.0 {py3.6,py3.9,py3.10}-pymongo-v4.0.2 - {py3.9,py3.12,py3.13}-pymongo-v4.11.3 + {py3.9,py3.12,py3.13}-pymongo-v4.12.0 {py3.6}-redis_py_cluster_legacy-v1.3.6 {py3.6,py3.7}-redis_py_cluster_legacy-v2.0.0 @@ -175,11 +182,11 @@ envlist = {py3.8,py3.12,py3.13}-launchdarkly-v9.10.0 {py3.8,py3.12,py3.13}-openfeature-v0.7.5 - {py3.9,py3.12,py3.13}-openfeature-v0.8.0 + {py3.9,py3.12,py3.13}-openfeature-v0.8.1 {py3.7,py3.12,py3.13}-statsig-v0.55.3 {py3.7,py3.12,py3.13}-statsig-v0.56.0 - {py3.7,py3.12,py3.13}-statsig-v0.57.2 + {py3.7,py3.12,py3.13}-statsig-v0.57.3 {py3.8,py3.12,py3.13}-unleash-v6.0.1 {py3.8,py3.12,py3.13}-unleash-v6.1.0 @@ -202,7 +209,7 @@ envlist = {py3.8,py3.10,py3.11}-strawberry-v0.209.8 {py3.8,py3.11,py3.12}-strawberry-v0.227.7 {py3.8,py3.11,py3.12}-strawberry-v0.245.0 - {py3.9,py3.12,py3.13}-strawberry-v0.263.2 + {py3.9,py3.12,py3.13}-strawberry-v0.264.0 # ~~~ Network ~~~ @@ -210,6 +217,7 @@ envlist = {py3.7,py3.9,py3.10}-grpc-v1.44.0 {py3.7,py3.10,py3.11}-grpc-v1.58.3 {py3.9,py3.12,py3.13}-grpc-v1.71.0 + {py3.9,py3.12,py3.13}-grpc-v1.72.0rc1 # ~~~ Tasks ~~~ @@ -245,7 +253,7 @@ envlist = {py3.6,py3.9,py3.10}-starlette-v0.16.0 {py3.7,py3.10,py3.11}-starlette-v0.26.1 {py3.8,py3.11,py3.12}-starlette-v0.36.3 - {py3.9,py3.12,py3.13}-starlette-v0.46.1 + {py3.9,py3.12,py3.13}-starlette-v0.46.2 # ~~~ Web 2 ~~~ @@ -513,13 +521,20 @@ deps = # These come from the populate_tox.py script. Eventually we should move all # integration tests there. + # ~~~ AI ~~~ + huggingface_hub-v0.22.2: huggingface_hub==0.22.2 + huggingface_hub-v0.25.2: huggingface_hub==0.25.2 + huggingface_hub-v0.28.1: huggingface_hub==0.28.1 + huggingface_hub-v0.30.2: huggingface_hub==0.30.2 + + # ~~~ DBs ~~~ clickhouse_driver-v0.2.9: clickhouse-driver==0.2.9 pymongo-v3.5.1: pymongo==3.5.1 pymongo-v3.13.0: pymongo==3.13.0 pymongo-v4.0.2: pymongo==4.0.2 - pymongo-v4.11.3: pymongo==4.11.3 + pymongo-v4.12.0: pymongo==4.12.0 pymongo: mockupdb redis_py_cluster_legacy-v1.3.6: redis-py-cluster==1.3.6 @@ -538,11 +553,11 @@ deps = launchdarkly-v9.10.0: launchdarkly-server-sdk==9.10.0 openfeature-v0.7.5: openfeature-sdk==0.7.5 - openfeature-v0.8.0: openfeature-sdk==0.8.0 + openfeature-v0.8.1: openfeature-sdk==0.8.1 statsig-v0.55.3: statsig==0.55.3 statsig-v0.56.0: statsig==0.56.0 - statsig-v0.57.2: statsig==0.57.2 + statsig-v0.57.3: statsig==0.57.3 statsig: typing_extensions unleash-v6.0.1: UnleashClient==6.0.1 @@ -574,7 +589,7 @@ deps = strawberry-v0.209.8: strawberry-graphql[fastapi,flask]==0.209.8 strawberry-v0.227.7: strawberry-graphql[fastapi,flask]==0.227.7 strawberry-v0.245.0: strawberry-graphql[fastapi,flask]==0.245.0 - strawberry-v0.263.2: strawberry-graphql[fastapi,flask]==0.263.2 + strawberry-v0.264.0: strawberry-graphql[fastapi,flask]==0.264.0 strawberry: httpx strawberry-v0.209.8: pydantic<2.11 strawberry-v0.227.7: pydantic<2.11 @@ -586,6 +601,7 @@ deps = grpc-v1.44.0: grpcio==1.44.0 grpc-v1.58.3: grpcio==1.58.3 grpc-v1.71.0: grpcio==1.71.0 + grpc-v1.72.0rc1: grpcio==1.72.0rc1 grpc: protobuf grpc: mypy-protobuf grpc: types-protobuf @@ -657,7 +673,7 @@ deps = starlette-v0.16.0: starlette==0.16.0 starlette-v0.26.1: starlette==0.26.1 starlette-v0.36.3: starlette==0.36.3 - starlette-v0.46.1: starlette==0.46.1 + starlette-v0.46.2: starlette==0.46.2 starlette: pytest-asyncio starlette: python-multipart starlette: requests From 6ba5e1315472c995972d7c10a46ea22b3c108bef Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 15 Apr 2025 13:55:33 +0200 Subject: [PATCH 2/3] fix repo not found --- .../integrations/huggingface_hub/test_huggingface_hub.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/integrations/huggingface_hub/test_huggingface_hub.py b/tests/integrations/huggingface_hub/test_huggingface_hub.py index e017ce2449..86aa2c8318 100644 --- a/tests/integrations/huggingface_hub/test_huggingface_hub.py +++ b/tests/integrations/huggingface_hub/test_huggingface_hub.py @@ -33,7 +33,7 @@ def test_nonstreaming_chat_completion( ) events = capture_events() - client = InferenceClient("some-model") + client = InferenceClient() if details_arg: post_mock = mock.Mock( return_value=b"""[{ @@ -92,7 +92,7 @@ def test_streaming_chat_completion( ) events = capture_events() - client = InferenceClient("some-model") + client = InferenceClient() post_mock = mock.Mock( return_value=[ @@ -142,7 +142,7 @@ def test_bad_chat_completion(sentry_init, capture_events): sentry_init(integrations=[HuggingfaceHubIntegration()], traces_sample_rate=1.0) events = capture_events() - client = InferenceClient("some-model") + client = InferenceClient() post_mock = mock.Mock(side_effect=OverloadedError("The server is overloaded")) mock_client_post(client, post_mock) @@ -160,7 +160,7 @@ def test_span_origin(sentry_init, capture_events): ) events = capture_events() - client = InferenceClient("some-model") + client = InferenceClient() post_mock = mock.Mock( return_value=[ b"""data:{ From 6fc686568bdb569c48d406bcfd986c5815aab25e Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 15 Apr 2025 13:59:31 +0200 Subject: [PATCH 3/3] improvify --- tests/integrations/huggingface_hub/test_huggingface_hub.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/integrations/huggingface_hub/test_huggingface_hub.py b/tests/integrations/huggingface_hub/test_huggingface_hub.py index 86aa2c8318..090b0e4f3e 100644 --- a/tests/integrations/huggingface_hub/test_huggingface_hub.py +++ b/tests/integrations/huggingface_hub/test_huggingface_hub.py @@ -1,4 +1,5 @@ import itertools +from unittest import mock import pytest from huggingface_hub import ( @@ -9,8 +10,6 @@ from sentry_sdk import start_transaction from sentry_sdk.integrations.huggingface_hub import HuggingfaceHubIntegration -from unittest import mock # python 3.3 and above - def mock_client_post(client, post_mock): # huggingface-hub==0.28.0 deprecates the `post` method @@ -116,7 +115,6 @@ def test_streaming_chat_completion( ) ) assert len(response) == 2 - print(response) if details_arg: assert response[0].token.text + response[1].token.text == "the model response" else: