This is an automated email from the ASF dual-hosted git repository.

Lee-W pushed a commit to branch ci-upgrade-main
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit b633a9f645af8265b37dc9839b0762571e2f80eb
Author: Jarek Potiuk <[email protected]>
AuthorDate: Mon Jun 29 13:11:32 2026 +0200

    Keep CI environment upgrade scoped to tooling, not provider libraries
    
    Regenerating the lockfile for the CI tooling bump also pulled two major
    provider-library upgrades that the bump was never meant to carry: 
pydantic-ai
    1.x to 2.x (which changed the agent instrumentation API and breaks 
common.ai)
    and pyexasol 1.x to 2.x (whose stricter types break the exasol hook). 
Capping
    both to 1.x keeps this PR a pure tooling upgrade; the major-version 
migrations
    are tracked separately (apache/airflow#69122, apache/airflow#69123).
    
    The new zizmor 1.26.1 ref-version-mismatch audit also flagged the
    apache/infrastructure-actions pin, which is branch-tracked and pinned by SHA
    with a "# main" comment on purpose; scope that audit off for that file.
---
 .github/zizmor.yml                 |  6 +++
 providers/common/ai/README.rst     |  2 +-
 providers/common/ai/docs/index.rst | 18 ++++----
 providers/common/ai/pyproject.toml |  4 +-
 providers/exasol/README.rst        |  2 +-
 providers/exasol/docs/index.rst    | 22 +++++++++-
 providers/exasol/pyproject.toml    |  4 +-
 uv.lock                            | 89 +++++++++++++++++++-------------------
 8 files changed, 90 insertions(+), 57 deletions(-)

diff --git a/.github/zizmor.yml b/.github/zizmor.yml
index ef9fbc6d507..da6ed9b6d88 100644
--- a/.github/zizmor.yml
+++ b/.github/zizmor.yml
@@ -19,3 +19,9 @@
 rules:
   secrets-outside-env:
     disable: true
+  # apache/infrastructure-actions is branch-tracked (no version tags); we pin 
it
+  # by commit SHA with a "# main" comment on purpose, so zizmor's expectation 
of a
+  # version-matching comment does not apply to that pin.
+  ref-version-mismatch:
+    ignore:
+      - asf-allowlist-check.yml
diff --git a/providers/common/ai/README.rst b/providers/common/ai/README.rst
index 8d2c8709f1b..3c5439b4e83 100644
--- a/providers/common/ai/README.rst
+++ b/providers/common/ai/README.rst
@@ -56,7 +56,7 @@ PIP package                                 Version required
 ``apache-airflow``                          ``>=3.0.0``
 ``apache-airflow-providers-common-compat``  ``>=1.15.0``
 ``apache-airflow-providers-standard``       ``>=1.12.1``
-``pydantic-ai-slim``                        ``>=1.99.0``
+``pydantic-ai-slim``                        ``>=1.99.0,<2``
 ==========================================  ==================
 
 Optional cross provider package dependencies
diff --git a/providers/common/ai/docs/index.rst 
b/providers/common/ai/docs/index.rst
index 598b702d77a..e0a13239614 100644
--- a/providers/common/ai/docs/index.rst
+++ b/providers/common/ai/docs/index.rst
@@ -109,7 +109,7 @@ PIP package                                 Version required
 ``apache-airflow``                          ``>=3.0.0``
 ``apache-airflow-providers-common-compat``  ``>=1.15.0``
 ``apache-airflow-providers-standard``       ``>=1.12.1``
-``pydantic-ai-slim``                        ``>=1.99.0``
+``pydantic-ai-slim``                        ``>=1.99.0,<2``
 ==========================================  ==================
 
 Optional cross provider package dependencies
@@ -122,15 +122,17 @@ You can install such cross-provider dependencies when 
installing from PyPI. For
 
 .. code-block:: bash
 
-    pip install apache-airflow-providers-common-ai[common.sql]
+    pip install apache-airflow-providers-common-ai[common.compat]
 
 
-============================================================================================================
  ==============
-Dependent package                                                              
                               Extra
-============================================================================================================
  ==============
-`apache-airflow-providers-common-sql 
<https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_  
``common.sql``
-`apache-airflow-providers-git 
<https://airflow.apache.org/docs/apache-airflow-providers-git>`_                
``git``
-============================================================================================================
  ==============
+==================================================================================================================
  =================
+Dependent package                                                              
                                     Extra
+==================================================================================================================
  =================
+`apache-airflow-providers-common-compat 
<https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_  
``common.compat``
+`apache-airflow-providers-common-sql 
<https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_        
``common.sql``
+`apache-airflow-providers-git 
<https://airflow.apache.org/docs/apache-airflow-providers-git>`_                
      ``git``
+`apache-airflow-providers-standard 
<https://airflow.apache.org/docs/apache-airflow-providers-standard>`_           
 ``standard``
+==================================================================================================================
  =================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/common/ai/pyproject.toml 
b/providers/common/ai/pyproject.toml
index 2622d0aa016..f4597e957f9 100644
--- a/providers/common/ai/pyproject.toml
+++ b/providers/common/ai/pyproject.toml
@@ -69,7 +69,9 @@ dependencies = [
     "apache-airflow>=3.0.0",
     "apache-airflow-providers-common-compat>=1.15.0",
     "apache-airflow-providers-standard>=1.12.1",
-    "pydantic-ai-slim>=1.99.0",
+    # Capped to 1.x: pydantic-ai 2.x changed the agent instrumentation API and 
breaks the provider.
+    # Remove the cap after migrating; tracked at 
https://github.com/apache/airflow/issues/69122
+    "pydantic-ai-slim>=1.99.0,<2",
 ]
 
 # The optional dependencies should be modified in place in the generated file
diff --git a/providers/exasol/README.rst b/providers/exasol/README.rst
index 486f8fc6abd..a29829c40d9 100644
--- a/providers/exasol/README.rst
+++ b/providers/exasol/README.rst
@@ -56,7 +56,7 @@ PIP package                                 Version required
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
-``pyexasol``                                ``>=0.26.0``
+``pyexasol``                                ``>=0.26.0,<2``
 ``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
 ``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
 ``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
diff --git a/providers/exasol/docs/index.rst b/providers/exasol/docs/index.rst
index 3aaeeb75d78..cedc9ca07a9 100644
--- a/providers/exasol/docs/index.rst
+++ b/providers/exasol/docs/index.rst
@@ -101,12 +101,32 @@ PIP package                                 Version 
required
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
-``pyexasol``                                ``>=0.26.0``
+``pyexasol``                                ``>=0.26.0,<2``
 ``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
 ``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
 ``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ==========================================  
=================================================================
 
+Optional cross provider package dependencies
+--------------------------------------------
+
+Those are dependencies that might be needed in order to use all the features 
of the package.
+You need to install the specified provider distributions in order to use them.
+
+You can install such cross-provider dependencies when installing from PyPI. 
For example:
+
+.. code-block:: bash
+
+    pip install apache-airflow-providers-exasol[common.compat]
+
+
+==================================================================================================================
  =================
+Dependent package                                                              
                                     Extra
+==================================================================================================================
  =================
+`apache-airflow-providers-common-compat 
<https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_  
``common.compat``
+`apache-airflow-providers-common-sql 
<https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_        
``common.sql``
+==================================================================================================================
  =================
+
 Downloading official packages
 -----------------------------
 
diff --git a/providers/exasol/pyproject.toml b/providers/exasol/pyproject.toml
index a3f8a5ac4ce..ce3706462a6 100644
--- a/providers/exasol/pyproject.toml
+++ b/providers/exasol/pyproject.toml
@@ -62,7 +62,9 @@ dependencies = [
     "apache-airflow>=2.11.0",
     "apache-airflow-providers-common-compat>=1.12.0",
     "apache-airflow-providers-common-sql>=1.32.0",
-    "pyexasol>=0.26.0",
+    # Capped to 1.x: pyexasol 2.x ships stricter types that break the exasol 
hook.
+    # Remove the cap after migrating; tracked at 
https://github.com/apache/airflow/issues/69123
+    "pyexasol>=0.26.0,<2",
     'pandas>=2.1.2; python_version <"3.13"',
     'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
     'pandas>=2.3.3; python_version >="3.14"',
diff --git a/uv.lock b/uv.lock
index 3e915d62565..154dfd93fb0 100644
--- a/uv.lock
+++ b/uv.lock
@@ -642,7 +642,7 @@ name = "aiohttp-cors"
 version = "0.8.1"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
-    { name = "aiohttp" },
+    { name = "aiohttp", marker = "python_full_version < '3.15'" },
 ]
 sdist = { url = 
"https://files.pythonhosted.org/packages/6f/6d/d89e846a5444b3d5eb8985a6ddb0daef3774928e1bfbce8e84ec97b0ffa7/aiohttp_cors-0.8.1.tar.gz";,
 hash = 
"sha256:ccacf9cb84b64939ea15f859a146af1f662a6b1d68175754a07315e305fb1403", size 
= 38626, upload-time = "2025-03-31T14:16:20.048Z" }
 wheels = [
@@ -4419,7 +4419,7 @@ requires-dist = [
     { name = "pyarrow", marker = "python_full_version < '3.14' and extra == 
'parquet'", specifier = ">=18.0.0" },
     { name = "pydantic-ai-harness", extras = ["codemode"], marker = "extra == 
'code-mode'", specifier = ">=0.3.0" },
     { name = "pydantic-ai-skills", marker = "extra == 'skills'", specifier = 
">=0.11.0" },
-    { name = "pydantic-ai-slim", specifier = ">=1.99.0" },
+    { name = "pydantic-ai-slim", specifier = ">=1.99.0,<2" },
     { name = "pydantic-ai-slim", extras = ["anthropic"], marker = "extra == 
'anthropic'" },
     { name = "pydantic-ai-slim", extras = ["bedrock"], marker = "extra == 
'bedrock'" },
     { name = "pydantic-ai-slim", extras = ["google"], marker = "extra == 
'google'" },
@@ -5133,7 +5133,7 @@ requires-dist = [
     { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
     { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
     { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
-    { name = "pyexasol", specifier = ">=0.26.0" },
+    { name = "pyexasol", specifier = ">=0.26.0,<2" },
     { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
 ]
 provides-extras = ["sqlalchemy"]
@@ -10822,7 +10822,7 @@ name = "colorful"
 version = "0.5.8"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
-    { name = "colorama", marker = "sys_platform == 'win32'" },
+    { name = "colorama", marker = "python_full_version < '3.15' and 
sys_platform == 'win32'" },
 ]
 sdist = { url = 
"https://files.pythonhosted.org/packages/82/31/109ef4bedeb32b4202e02ddb133162457adc4eb890a9ed9c05c9dd126ed0/colorful-0.5.8.tar.gz";,
 hash = 
"sha256:bb16502b198be2f1c42ba3c52c703d5f651d826076817185f0294c1a549a7445", size 
= 209361, upload-time = "2025-10-29T11:53:21.663Z" }
 wheels = [
@@ -17348,9 +17348,9 @@ name = "opencensus"
 version = "0.11.4"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
-    { name = "google-api-core" },
-    { name = "opencensus-context" },
-    { name = "six" },
+    { name = "google-api-core", marker = "python_full_version < '3.15'" },
+    { name = "opencensus-context", marker = "python_full_version < '3.15'" },
+    { name = "six", marker = "python_full_version < '3.15'" },
 ]
 sdist = { url = 
"https://files.pythonhosted.org/packages/15/a7/a46dcffa1b63084f9f17fe3c8cb20724c4c8f91009fd0b2cfdb27d5d2b35/opencensus-0.11.4.tar.gz";,
 hash = 
"sha256:cbef87d8b8773064ab60e5c2a1ced58bbaa38a6d052c41aec224958ce544eff2", size 
= 64966, upload-time = "2024-01-03T18:04:07.085Z" }
 wheels = [
@@ -19146,7 +19146,7 @@ wheels = [
 
 [[package]]
 name = "pydantic-ai-slim"
-version = "2.0.0"
+version = "1.107.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
@@ -19158,9 +19158,9 @@ dependencies = [
     { name = "pydantic-graph" },
     { name = "typing-inspection" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/81/5b/c930c2c645677d1069172a71be9a22ea37b2aa170dcf3c6051aa1c105e72/pydantic_ai_slim-2.0.0.tar.gz";,
 hash = 
"sha256:056ea466d67b47a832736ac0f33172264b09da2110dbcce09d26b82772173218", size 
= 734369, upload-time = "2026-06-23T15:48:58.379Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/4c/26/ced63dfaabbc77f3beb86d59689cdea748e7ccffb6b419dbaf4780f211e8/pydantic_ai_slim-1.107.0.tar.gz";,
 hash = 
"sha256:4616f689a92fcfecfecf2a7af27aca22f139a873cf6d7a8929eaeee9c0eedbb4", size 
= 779902, upload-time = "2026-06-10T14:53:10.574Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/5f/e6/814efd5693a97589bfd15c51c9324f77758b82a04f172f3fec9723c7777b/pydantic_ai_slim-2.0.0-py3-none-any.whl";,
 hash = 
"sha256:39979b459a7bc73ae5294c071a7e474f123858a9f7922e9cbb662018d6431198", size 
= 905291, upload-time = "2026-06-23T15:48:51.628Z" },
+    { url = 
"https://files.pythonhosted.org/packages/15/57/71044e17f931b08cc3930bc0fe5a1e1fd37fa474ae826be004729ef1cb4a/pydantic_ai_slim-1.107.0-py3-none-any.whl";,
 hash = 
"sha256:1af49bbae06a6c598f72c54d4734ba377100cac493c9a05fa8e089bebeae0da6", size 
= 964046, upload-time = "2026-06-10T14:53:03.333Z" },
 ]
 
 [package.optional-dependencies]
@@ -19312,7 +19312,7 @@ wheels = [
 
 [[package]]
 name = "pydantic-graph"
-version = "2.0.0"
+version = "1.107.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "httpx" },
@@ -19320,9 +19320,9 @@ dependencies = [
     { name = "pydantic" },
     { name = "typing-inspection" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/c7/9d/81b09921d360614f65bb2d4f936d5cae856b4ebe827fcf43ae7abb81383a/pydantic_graph-2.0.0.tar.gz";,
 hash = 
"sha256:f0bffe84a46a5118bce0824de63d08f3f32ba4dfc1064674f449b07e15128287", size 
= 43054, upload-time = "2026-06-23T15:49:00.488Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/dd/c3/6e8c2d13b8701041f1b3eac5deb41f25d4dbfa479a190d5c6becc23f2a49/pydantic_graph-1.107.0.tar.gz";,
 hash = 
"sha256:278dd89b3e33f3a2963ac949f27a53aef705c5d883a8ce5d06d23e6e3cfbd972", size 
= 62564, upload-time = "2026-06-10T14:53:13.366Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/c9/2c/ff64a971e26bb2d0d67a70ef436f2cfc778341a4cf89d5aca35cbc1f071c/pydantic_graph-2.0.0-py3-none-any.whl";,
 hash = 
"sha256:36d69fa01cd316be8584b90eef58bd21675c11c0a081b500a5c4ebe9b68310a5", size 
= 50773, upload-time = "2026-06-23T15:48:54.562Z" },
+    { url = 
"https://files.pythonhosted.org/packages/fc/72/621556e3f5068400d43a0375d38e5963de30256eaa5a702aba12e82ed0ff/pydantic_graph-1.107.0-py3-none-any.whl";,
 hash = 
"sha256:71add94fe7e14c703977a895117c475aae6c0b02a774a036c4d00d9a63c78b00", size 
= 80106, upload-time = "2026-06-10T14:53:06.543Z" },
 ]
 
 [[package]]
@@ -19446,16 +19446,17 @@ wheels = [
 
 [[package]]
 name = "pyexasol"
-version = "2.2.2"
+version = "1.3.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "cryptography" },
     { name = "packaging" },
+    { name = "rsa" },
     { name = "websocket-client" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/e6/80/98a3fc207191080a58f0f49e5fd7dbada4c5f7d71e2d7e8e7c3f86032e9d/pyexasol-2.2.2.tar.gz";,
 hash = 
"sha256:fb97a1579f4cc159cff04eabdb05fab1a376624abe2a45d339e7e735b7b3d83f", size 
= 61760, upload-time = "2026-06-24T06:20:13.308Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/a3/f4/be269ba104e7ff469f9b27ab136479932591506fdb79a17081281880af53/pyexasol-1.3.0.tar.gz";,
 hash = 
"sha256:44e5be7245b92343634b0b66a81b62be2fb4b1ca485d4e0f86c0583d5a2cf6b5", size 
= 60189, upload-time = "2025-11-17T15:01:59.614Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/45/76/bbac7c97bdd37345c0961f608a4aa1bd62d0f73f501c1d61b3e1137a0698/pyexasol-2.2.2-py3-none-any.whl";,
 hash = 
"sha256:ed694df2f4e424f1c4a8427c638d35541a7b7289c89825d038a3bdc99dbcf717", size 
= 73446, upload-time = "2026-06-24T06:20:14.394Z" },
+    { url = 
"https://files.pythonhosted.org/packages/dd/4b/67204f07f804e65059c8d42b481583efc9edb7f5f4aecb3fddbd183f0c9b/pyexasol-1.3.0-py3-none-any.whl";,
 hash = 
"sha256:0bb076346dcb33b36031a2633d6e7b9982f8411b95e770ad8017801ee438a689", size 
= 71906, upload-time = "2025-11-17T15:01:58.205Z" },
 ]
 
 [[package]]
@@ -20691,14 +20692,14 @@ name = "ray"
 version = "2.55.1"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
-    { name = "click" },
-    { name = "filelock" },
-    { name = "jsonschema" },
-    { name = "msgpack" },
-    { name = "packaging" },
-    { name = "protobuf" },
-    { name = "pyyaml" },
-    { name = "requests" },
+    { name = "click", marker = "python_full_version < '3.15'" },
+    { name = "filelock", marker = "python_full_version < '3.15'" },
+    { name = "jsonschema", marker = "python_full_version < '3.15'" },
+    { name = "msgpack", marker = "python_full_version < '3.15'" },
+    { name = "packaging", marker = "python_full_version < '3.15'" },
+    { name = "protobuf", marker = "python_full_version < '3.15'" },
+    { name = "pyyaml", marker = "python_full_version < '3.15'" },
+    { name = "requests", marker = "python_full_version < '3.15'" },
 ]
 wheels = [
     { url = 
"https://files.pythonhosted.org/packages/7e/d0/a85097dd53aaca1a44acc4dd0b3d2c0e9233179433e2ee326e4018ab3cf7/ray-2.55.1-cp310-cp310-macosx_12_0_arm64.whl";,
 hash = 
"sha256:2d5786661e192148719accc959def6cdcabd7a24cd9008005bf3d0e3c8cfd529", size 
= 65829601, upload-time = "2026-04-22T20:09:10.013Z" },
@@ -20723,20 +20724,20 @@ wheels = [
 
 [package.optional-dependencies]
 default = [
-    { name = "aiohttp" },
-    { name = "aiohttp-cors" },
-    { name = "colorful" },
-    { name = "grpcio" },
-    { name = "opencensus" },
-    { name = "opentelemetry-exporter-prometheus" },
-    { name = "opentelemetry-proto" },
-    { name = "opentelemetry-sdk" },
-    { name = "prometheus-client" },
-    { name = "py-spy" },
-    { name = "pydantic" },
-    { name = "requests" },
-    { name = "smart-open" },
-    { name = "virtualenv" },
+    { name = "aiohttp", marker = "python_full_version < '3.15'" },
+    { name = "aiohttp-cors", marker = "python_full_version < '3.15'" },
+    { name = "colorful", marker = "python_full_version < '3.15'" },
+    { name = "grpcio", marker = "python_full_version < '3.15'" },
+    { name = "opencensus", marker = "python_full_version < '3.15'" },
+    { name = "opentelemetry-exporter-prometheus", marker = 
"python_full_version < '3.15'" },
+    { name = "opentelemetry-proto", marker = "python_full_version < '3.15'" },
+    { name = "opentelemetry-sdk", marker = "python_full_version < '3.15'" },
+    { name = "prometheus-client", marker = "python_full_version < '3.15'" },
+    { name = "py-spy", marker = "python_full_version < '3.15'" },
+    { name = "pydantic", marker = "python_full_version < '3.15'" },
+    { name = "requests", marker = "python_full_version < '3.15'" },
+    { name = "smart-open", marker = "python_full_version < '3.15'" },
+    { name = "virtualenv", marker = "python_full_version < '3.15'" },
 ]
 
 [[package]]
@@ -21848,8 +21849,8 @@ name = "secretstorage"
 version = "3.5.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
-    { name = "cryptography", marker = "python_full_version >= '3.14' or 
platform_machine != 'arm64' or sys_platform != 'darwin'" },
-    { name = "jeepney", marker = "python_full_version >= '3.14' or 
platform_machine != 'arm64' or sys_platform != 'darwin'" },
+    { name = "cryptography", marker = "(python_full_version >= '3.14' and 
sys_platform == 'darwin') or (python_full_version < '3.15' and sys_platform == 
'emscripten') or (python_full_version < '3.15' and sys_platform == 'win32') or 
(platform_machine != 'arm64' and sys_platform == 'darwin') or (sys_platform != 
'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')" },
+    { name = "jeepney", marker = "(python_full_version >= '3.14' and 
sys_platform == 'darwin') or (python_full_version < '3.15' and sys_platform == 
'emscripten') or (python_full_version < '3.15' and sys_platform == 'win32') or 
(platform_machine != 'arm64' and sys_platform == 'darwin') or (sys_platform != 
'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')" },
 ]
 sdist = { url = 
"https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz";,
 hash = 
"sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be", size 
= 19884, upload-time = "2025-11-23T19:02:53.191Z" }
 wheels = [
@@ -22048,7 +22049,7 @@ name = "smart-open"
 version = "7.6.1"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
-    { name = "wrapt" },
+    { name = "wrapt", marker = "python_full_version < '3.15'" },
 ]
 sdist = { url = 
"https://files.pythonhosted.org/packages/c5/65/3ada667d32675399001bf022ad3d9f3989b57101351ebc71d6fbe2384634/smart_open-7.6.1.tar.gz";,
 hash = 
"sha256:4347996e7ba21db7cd1e059632e0b30395407e4f6c660d2ddffc8f2a9ae5f990", size 
= 54754, upload-time = "2026-05-09T06:23:37.06Z" }
 wheels = [
@@ -24178,11 +24179,11 @@ wheels = [
 
 [[package]]
 name = "websocket-client"
-version = "1.9.0"
+version = "1.8.0"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/2c/41/aa4bf9664e4cda14c3b39865b12251e8e7d239f4cd0e3cc1b6c2ccde25c1/websocket_client-1.9.0.tar.gz";,
 hash = 
"sha256:9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98", size 
= 70576, upload-time = "2025-10-07T21:16:36.495Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz";,
 hash = 
"sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size 
= 54648, upload-time = "2024-04-23T22:16:16.976Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/34/db/b10e48aa8fff7407e67470363eac595018441cf32d5e1001567a7aeba5d2/websocket_client-1.9.0-py3-none-any.whl";,
 hash = 
"sha256:af248a825037ef591efbf6ed20cc5faa03d3b47b9e5a2230a529eeee1c1fc3ef", size 
= 82616, upload-time = "2025-10-07T21:16:34.951Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl";,
 hash = 
"sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size 
= 58826, upload-time = "2024-04-23T22:16:14.422Z" },
 ]
 
 [[package]]

Reply via email to