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

potiuk pushed a commit to branch new-providers-layout-2025-12
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 76b99a1a90d3faf191752a9447e5a413bf1501df
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sun Dec 28 17:46:49 2025 +0100

    Upgrade to latest dependencies
---
 .github/actions/breeze/action.yml                  |   2 +-
 .github/actions/install-prek/action.yml            |   4 +-
 .github/workflows/basic-tests.yml                  |   2 +-
 .github/workflows/release_dockerhub_image.yml      |   2 +-
 .pre-commit-config.yaml                            |  10 +-
 Dockerfile.ci                                      |   4 +-
 airflow-core/docs/best-practices.rst               |   2 +-
 dev/breeze/doc/ci/02_images.md                     |   4 +-
 dev/breeze/pyproject.toml                          |   2 +-
 .../commands/release_management_commands.py        |   4 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   2 +-
 dev/breeze/uv.lock                                 | 261 +++++++++++----------
 devel-common/pyproject.toml                        |   2 +-
 pyproject.toml                                     |   2 +-
 scripts/ci/prek/check_imports_in_providers.py      |   2 +-
 scripts/ci/prek/ruff_format.py                     |   2 +-
 scripts/tools/setup_breeze                         |   2 +-
 17 files changed, 158 insertions(+), 151 deletions(-)

diff --git a/.github/actions/breeze/action.yml 
b/.github/actions/breeze/action.yml
index 1465d45077e..8b13d86f275 100644
--- a/.github/actions/breeze/action.yml
+++ b/.github/actions/breeze/action.yml
@@ -24,7 +24,7 @@ inputs:
     default: "3.10"
   uv-version:
     description: 'uv version to use'
-    default: "0.9.16"  # Keep this comment to allow automatic replacement of 
uv version
+    default: "0.9.18"  # Keep this comment to allow automatic replacement of 
uv version
 outputs:
   host-python-version:
     description: Python version used in host
diff --git a/.github/actions/install-prek/action.yml 
b/.github/actions/install-prek/action.yml
index e72cf95adcf..9eeb74f8db5 100644
--- a/.github/actions/install-prek/action.yml
+++ b/.github/actions/install-prek/action.yml
@@ -24,10 +24,10 @@ inputs:
     default: "3.10"
   uv-version:
     description: 'uv version to use'
-    default: "0.9.16"  # Keep this comment to allow automatic replacement of 
uv version
+    default: "0.9.18"  # Keep this comment to allow automatic replacement of 
uv version
   prek-version:
     description: 'prek version to use'
-    default: "0.2.19"  # Keep this comment to allow automatic replacement of 
prek version
+    default: "0.2.25"  # Keep this comment to allow automatic replacement of 
prek version
   save-cache:
     description: "Whether to save prek cache"
     required: true
diff --git a/.github/workflows/basic-tests.yml 
b/.github/workflows/basic-tests.yml
index 2f9f3b7126c..be59e92f76a 100644
--- a/.github/workflows/basic-tests.yml
+++ b/.github/workflows/basic-tests.yml
@@ -66,7 +66,7 @@ on:  # yamllint disable-line rule:truthy
         type: string
       uv-version:
         description: 'uv version to use'
-        default: "0.9.16"  # Keep this comment to allow automatic replacement 
of uv version
+        default: "0.9.18"  # Keep this comment to allow automatic replacement 
of uv version
         type: string
       platform:
         description: 'Platform for the build - linux/amd64 or linux/arm64'
diff --git a/.github/workflows/release_dockerhub_image.yml 
b/.github/workflows/release_dockerhub_image.yml
index 6118057a214..01dcddf8f34 100644
--- a/.github/workflows/release_dockerhub_image.yml
+++ b/.github/workflows/release_dockerhub_image.yml
@@ -58,7 +58,7 @@ jobs:
       AIRFLOW_VERSION: ${{ github.event.inputs.airflowVersion }}
       AMD_ONLY: ${{ github.event.inputs.amdOnly }}
       LIMIT_PYTHON_VERSIONS: ${{ github.event.inputs.limitPythonVersions }}
-      UV_VERSION: "0.9.16"  # Keep this comment to allow automatic replacement 
of uv version
+      UV_VERSION: "0.9.18"  # Keep this comment to allow automatic replacement 
of uv version
     if: contains(fromJSON('[
       "ashb",
       "bugraoz93",
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ebb6b15b31b..f5c2b30f19c 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -32,7 +32,7 @@ repos:
         name: Check if all hooks apply to the repository
   - repo: https://github.com/eclipse-csi/octopin
     # We need this commit because if supports two spaces before comments 
(yamllint compatibility)
-    rev: 21360742e352e87450f99e180fdfc2cf774a72a3
+    rev: 74fd075c7b326c771cd95ca86c59cbe65f0dda37
     hooks:
       - id: pin-versions
         name: Pin versions of dependencies in CI workflows (manual)
@@ -40,7 +40,7 @@ repos:
         language: python
         language_version: python311
   - repo: https://github.com/thlorenz/doctoc.git
-    rev: 70fdcd39ef919754011a827bd25f23a0b141c3c3  # frozen: v2.2.0
+    rev: 68f070c98b9a053eabfa7f8899d1f42b9919f98c  # frozen: v2.2.0
     hooks:
       - id: doctoc
         name: Add TOC for Markdown and RST files
@@ -193,7 +193,7 @@ repos:
         pass_filenames: false
         require_serial: true
   - repo: https://github.com/adamchainz/blacken-docs
-    rev: dda8db18cfc68df532abf33b185ecd12d5b7b326  # frozen: 1.20.0
+    rev: fda77690955e9b63c6687d8806bafd56a526e45f  # frozen: 1.20.0
     hooks:
       - id: blacken-docs
         name: Run black on docs
@@ -307,7 +307,7 @@ repos:
           - 
--skip=providers/.*/src/airflow/providers/*/*.rst,providers/*/docs/changelog.rst,docs/*/commits.rst,providers/*/docs/commits.rst,providers/*/*/docs/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md,*.svg
           - --exclude-file=.codespellignorelines
   - repo: https://github.com/woodruffw/zizmor-pre-commit
-    rev: 1e30511413f07e516c1844ba91abce8aca984963  # frozen: v1.18.0
+    rev: ea18690d7f8e44203c9efd7bc6229447d02e3951  # frozen: v1.19.0
     hooks:
       - id: zizmor
         name: Run zizmor to check for github workflow syntax errors
@@ -344,7 +344,7 @@ repos:
         types_or: [python, pyi]
         args: [--fix]
         require_serial: true
-        additional_dependencies: ['ruff==0.14.8']
+        additional_dependencies: ['ruff==0.14.10']
         exclude: 
^airflow-core/tests/unit/dags/test_imports\.py$|^performance/tests/test_.*\.py$
       - id: ruff-format
         name: Run 'ruff format'
diff --git a/Dockerfile.ci b/Dockerfile.ci
index 23b87bfecd4..ac3cc2c2731 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -1620,7 +1620,7 @@ RUN SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]') \
     && chmod +x /usr/local/bin/helm
 
 # Install mprocs - a modern process manager for managing multiple Airflow 
components
-ARG MPROCS_VERSION="0.8.1"
+ARG MPROCS_VERSION="0.8.2"
 
 RUN SYSTEM=$(uname -s | tr '[:upper:]' '[:lower:]') \
     && PLATFORM="$(uname -m)" \
@@ -1712,7 +1712,7 @@ COPY --from=scripts common.sh install_packaging_tools.sh 
install_additional_depe
 ARG AIRFLOW_PIP_VERSION=25.3
 # ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main";
 ARG AIRFLOW_UV_VERSION=0.9.18
-ARG AIRFLOW_PREK_VERSION="0.2.23"
+ARG AIRFLOW_PREK_VERSION="0.2.25"
 
 # UV_LINK_MODE=copy is needed since we are using cache mounted from the host
 ENV AIRFLOW_PIP_VERSION=${AIRFLOW_PIP_VERSION} \
diff --git a/airflow-core/docs/best-practices.rst 
b/airflow-core/docs/best-practices.rst
index 84e76313a7a..fd1a2c68a3d 100644
--- a/airflow-core/docs/best-practices.rst
+++ b/airflow-core/docs/best-practices.rst
@@ -310,7 +310,7 @@ Installing and Using ruff
 
    .. code-block:: bash
 
-      pip install "ruff>=0.14.8"
+      pip install "ruff>=0.14.10"
 
 2. **Running ruff**: Execute ``ruff`` to check your Dags for potential issues:
 
diff --git a/dev/breeze/doc/ci/02_images.md b/dev/breeze/doc/ci/02_images.md
index fa874a7dcae..5f5ee7c80bb 100644
--- a/dev/breeze/doc/ci/02_images.md
+++ b/dev/breeze/doc/ci/02_images.md
@@ -443,8 +443,8 @@ can be used for CI images:
 | `ADDITIONAL_DEV_APT_DEPS`         |                             | Additional 
apt dev dependencies installed in the first part of the image                   
                       |
 | `ADDITIONAL_DEV_APT_ENV`          |                             | Additional 
env variables defined when installing dev deps                                  
                       |
 | `AIRFLOW_PIP_VERSION`             | `25.3`                      | `pip` 
version used.                                                                   
                            |
-| `AIRFLOW_UV_VERSION`              | `0.9.16`                    | `uv` 
version used.                                                                   
                             |
-| `AIRFLOW_PREK_VERSION`            | `0.2.19`                    | `prek` 
version used.                                                                   
                           |
+| `AIRFLOW_UV_VERSION`              | `0.9.18`                    | `uv` 
version used.                                                                   
                             |
+| `AIRFLOW_PREK_VERSION`            | `0.2.25`                    | `prek` 
version used.                                                                   
                           |
 | `AIRFLOW_USE_UV`                  | `true`                      | Whether to 
use UV for installation.                                                        
                       |
 | `PIP_PROGRESS_BAR`                | `on`                        | Progress 
bar for PIP installation                                                        
                         |
 
diff --git a/dev/breeze/pyproject.toml b/dev/breeze/pyproject.toml
index 5bb71ceebcd..baf8dcb7da3 100644
--- a/dev/breeze/pyproject.toml
+++ b/dev/breeze/pyproject.toml
@@ -59,7 +59,7 @@ dependencies = [
     "jinja2>=3.1.5",
     "jsonschema>=4.19.1",
     "packaging>=25.0",
-    "prek>=0.2.19",
+    "prek>=0.2.25",
     "psutil>=5.9.6",
     "pygithub>=2.1.1",
     "pytest-xdist>=3.3.1",
diff --git 
a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py 
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index 2872e09b58b..7c88276c729 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -255,11 +255,11 @@ class VersionedFile(NamedTuple):
 
 
 AIRFLOW_PIP_VERSION = "25.3"
-AIRFLOW_UV_VERSION = "0.9.16"
+AIRFLOW_UV_VERSION = "0.9.18"
 AIRFLOW_USE_UV = False
 GITPYTHON_VERSION = "3.1.45"
 RICH_VERSION = "14.2.0"
-PREK_VERSION = "0.2.19"
+PREK_VERSION = "0.2.25"
 HATCH_VERSION = "1.16.2"
 PYYAML_VERSION = "6.0.3"
 
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py 
b/dev/breeze/src/airflow_breeze/global_constants.py
index 7cef7d4bf07..03feb046796 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -216,7 +216,7 @@ if MYSQL_INNOVATION_RELEASE:
 ALLOWED_INSTALL_MYSQL_CLIENT_TYPES = ["mariadb"]
 
 PIP_VERSION = "25.3"
-UV_VERSION = "0.9.16"
+UV_VERSION = "0.9.18"
 
 DEFAULT_UV_HTTP_TIMEOUT = 300
 DEFAULT_WSL2_HTTP_TIMEOUT = 900
diff --git a/dev/breeze/uv.lock b/dev/breeze/uv.lock
index 226420f24ba..3494382be18 100644
--- a/dev/breeze/uv.lock
+++ b/dev/breeze/uv.lock
@@ -74,7 +74,7 @@ requires-dist = [
     { name = "jinja2", specifier = ">=3.1.5" },
     { name = "jsonschema", specifier = ">=4.19.1" },
     { name = "packaging", specifier = ">=25.0" },
-    { name = "prek", specifier = ">=0.2.19" },
+    { name = "prek", specifier = ">=0.2.25" },
     { name = "psutil", specifier = ">=5.9.6" },
     { name = "pygithub", specifier = ">=2.1.1" },
     { name = "pytest", specifier = ">=9.0.0" },
@@ -216,7 +216,7 @@ wheels = [
 
 [[package]]
 name = "black"
-version = "25.11.0"
+version = "25.12.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "click" },
@@ -228,66 +228,71 @@ dependencies = [
     { name = "tomli", marker = "python_full_version < '3.11'" },
     { name = "typing-extensions", marker = "python_full_version < '3.11'" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/8c/ad/33adf4708633d047950ff2dfdea2e215d84ac50ef95aff14a614e4b6e9b2/black-25.11.0.tar.gz";,
 hash = 
"sha256:9a323ac32f5dc75ce7470501b887250be5005a01602e931a15e45593f70f6e08", size 
= 655669, upload-time = "2025-11-10T01:53:50.558Z" }
-wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/b3/d2/6caccbc96f9311e8ec3378c296d4f4809429c43a6cd2394e3c390e86816d/black-25.11.0-cp310-cp310-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:ec311e22458eec32a807f029b2646f661e6859c3f61bc6d9ffb67958779f392e", size 
= 1743501, upload-time = "2025-11-10T01:59:06.202Z" },
-    { url = 
"https://files.pythonhosted.org/packages/69/35/b986d57828b3f3dccbf922e2864223197ba32e74c5004264b1c62bc9f04d/black-25.11.0-cp310-cp310-macosx_11_0_arm64.whl";,
 hash = 
"sha256:1032639c90208c15711334d681de2e24821af0575573db2810b0763bcd62e0f0", size 
= 1597308, upload-time = "2025-11-10T01:57:58.633Z" },
-    { url = 
"https://files.pythonhosted.org/packages/39/8e/8b58ef4b37073f52b64a7b2dd8c9a96c84f45d6f47d878d0aa557e9a2d35/black-25.11.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:0c0f7c461df55cf32929b002335883946a4893d759f2df343389c4396f3b6b37", size 
= 1656194, upload-time = "2025-11-10T01:57:10.909Z" },
-    { url = 
"https://files.pythonhosted.org/packages/8d/30/9c2267a7955ecc545306534ab88923769a979ac20a27cf618d370091e5dd/black-25.11.0-cp310-cp310-win_amd64.whl";,
 hash = 
"sha256:f9786c24d8e9bd5f20dc7a7f0cdd742644656987f6ea6947629306f937726c03", size 
= 1347996, upload-time = "2025-11-10T01:57:22.391Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c4/62/d304786b75ab0c530b833a89ce7d997924579fb7484ecd9266394903e394/black-25.11.0-cp311-cp311-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:895571922a35434a9d8ca67ef926da6bc9ad464522a5fe0db99b394ef1c0675a", size 
= 1727891, upload-time = "2025-11-10T02:01:40.507Z" },
-    { url = 
"https://files.pythonhosted.org/packages/82/5d/ffe8a006aa522c9e3f430e7b93568a7b2163f4b3f16e8feb6d8c3552761a/black-25.11.0-cp311-cp311-macosx_11_0_arm64.whl";,
 hash = 
"sha256:cb4f4b65d717062191bdec8e4a442539a8ea065e6af1c4f4d36f0cdb5f71e170", size 
= 1581875, upload-time = "2025-11-10T01:57:51.192Z" },
-    { url = 
"https://files.pythonhosted.org/packages/cb/c8/7c8bda3108d0bb57387ac41b4abb5c08782b26da9f9c4421ef6694dac01a/black-25.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:d81a44cbc7e4f73a9d6ae449ec2317ad81512d1e7dce7d57f6333fd6259737bc", size 
= 1642716, upload-time = "2025-11-10T01:56:51.589Z" },
-    { url = 
"https://files.pythonhosted.org/packages/34/b9/f17dea34eecb7cc2609a89627d480fb6caea7b86190708eaa7eb15ed25e7/black-25.11.0-cp311-cp311-win_amd64.whl";,
 hash = 
"sha256:7eebd4744dfe92ef1ee349dc532defbf012a88b087bb7ddd688ff59a447b080e", size 
= 1352904, upload-time = "2025-11-10T01:59:26.252Z" },
-    { url = 
"https://files.pythonhosted.org/packages/7f/12/5c35e600b515f35ffd737da7febdb2ab66bb8c24d88560d5e3ef3d28c3fd/black-25.11.0-cp312-cp312-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:80e7486ad3535636657aa180ad32a7d67d7c273a80e12f1b4bfa0823d54e8fac", size 
= 1772831, upload-time = "2025-11-10T02:03:47Z" },
-    { url = 
"https://files.pythonhosted.org/packages/1a/75/b3896bec5a2bb9ed2f989a970ea40e7062f8936f95425879bbe162746fe5/black-25.11.0-cp312-cp312-macosx_11_0_arm64.whl";,
 hash = 
"sha256:6cced12b747c4c76bc09b4db057c319d8545307266f41aaee665540bc0e04e96", size 
= 1608520, upload-time = "2025-11-10T01:58:46.895Z" },
-    { url = 
"https://files.pythonhosted.org/packages/f3/b5/2bfc18330eddbcfb5aab8d2d720663cd410f51b2ed01375f5be3751595b0/black-25.11.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:6cb2d54a39e0ef021d6c5eef442e10fd71fcb491be6413d083a320ee768329dd", size 
= 1682719, upload-time = "2025-11-10T01:56:55.24Z" },
-    { url = 
"https://files.pythonhosted.org/packages/96/fb/f7dc2793a22cdf74a72114b5ed77fe3349a2e09ef34565857a2f917abdf2/black-25.11.0-cp312-cp312-win_amd64.whl";,
 hash = 
"sha256:ae263af2f496940438e5be1a0c1020e13b09154f3af4df0835ea7f9fe7bfa409", size 
= 1362684, upload-time = "2025-11-10T01:57:07.639Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ad/47/3378d6a2ddefe18553d1115e36aea98f4a90de53b6a3017ed861ba1bd3bc/black-25.11.0-cp313-cp313-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:0a1d40348b6621cc20d3d7530a5b8d67e9714906dfd7346338249ad9c6cedf2b", size 
= 1772446, upload-time = "2025-11-10T02:02:16.181Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ba/4b/0f00bfb3d1f7e05e25bfc7c363f54dc523bb6ba502f98f4ad3acf01ab2e4/black-25.11.0-cp313-cp313-macosx_11_0_arm64.whl";,
 hash = 
"sha256:51c65d7d60bb25429ea2bf0731c32b2a2442eb4bd3b2afcb47830f0b13e58bfd", size 
= 1607983, upload-time = "2025-11-10T02:02:52.502Z" },
-    { url = 
"https://files.pythonhosted.org/packages/99/fe/49b0768f8c9ae57eb74cc10a1f87b4c70453551d8ad498959721cc345cb7/black-25.11.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:936c4dd07669269f40b497440159a221ee435e3fddcf668e0c05244a9be71993", size 
= 1682481, upload-time = "2025-11-10T01:57:12.35Z" },
-    { url = 
"https://files.pythonhosted.org/packages/55/17/7e10ff1267bfa950cc16f0a411d457cdff79678fbb77a6c73b73a5317904/black-25.11.0-cp313-cp313-win_amd64.whl";,
 hash = 
"sha256:f42c0ea7f59994490f4dccd64e6b2dd49ac57c7c84f38b8faab50f8759db245c", size 
= 1363869, upload-time = "2025-11-10T01:58:24.608Z" },
-    { url = 
"https://files.pythonhosted.org/packages/67/c0/cc865ce594d09e4cd4dfca5e11994ebb51604328489f3ca3ae7bb38a7db5/black-25.11.0-cp314-cp314-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:35690a383f22dd3e468c85dc4b915217f87667ad9cce781d7b42678ce63c4170", size 
= 1771358, upload-time = "2025-11-10T02:03:33.331Z" },
-    { url = 
"https://files.pythonhosted.org/packages/37/77/4297114d9e2fd2fc8ab0ab87192643cd49409eb059e2940391e7d2340e57/black-25.11.0-cp314-cp314-macosx_11_0_arm64.whl";,
 hash = 
"sha256:dae49ef7369c6caa1a1833fd5efb7c3024bb7e4499bf64833f65ad27791b1545", size 
= 1612902, upload-time = "2025-11-10T01:59:33.382Z" },
-    { url = 
"https://files.pythonhosted.org/packages/de/63/d45ef97ada84111e330b2b2d45e1dd163e90bd116f00ac55927fb6bf8adb/black-25.11.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:5bd4a22a0b37401c8e492e994bce79e614f91b14d9ea911f44f36e262195fdda", size 
= 1680571, upload-time = "2025-11-10T01:57:04.239Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ff/4b/5604710d61cdff613584028b4cb4607e56e148801ed9b38ee7970799dab6/black-25.11.0-cp314-cp314-win_amd64.whl";,
 hash = 
"sha256:aa211411e94fdf86519996b7f5f05e71ba34835d8f0c0f03c00a26271da02664", size 
= 1382599, upload-time = "2025-11-10T01:57:57.427Z" },
-    { url = 
"https://files.pythonhosted.org/packages/00/5d/aed32636ed30a6e7f9efd6ad14e2a0b0d687ae7c8c7ec4e4a557174b895c/black-25.11.0-py3-none-any.whl";,
 hash = 
"sha256:e3f562da087791e96cefcd9dda058380a442ab322a02e222add53736451f604b", size 
= 204918, upload-time = "2025-11-10T01:53:48.917Z" },
+sdist = { url = 
"https://files.pythonhosted.org/packages/c4/d9/07b458a3f1c525ac392b5edc6b191ff140b596f9d77092429417a54e249d/black-25.12.0.tar.gz";,
 hash = 
"sha256:8d3dd9cea14bff7ddc0eb243c811cdb1a011ebb4800a5f0335a01a68654796a7", size 
= 659264, upload-time = "2025-12-08T01:40:52.501Z" }
+wheels = [
+    { url = 
"https://files.pythonhosted.org/packages/37/d5/8d3145999d380e5d09bb00b0f7024bf0a8ccb5c07b5648e9295f02ec1d98/black-25.12.0-cp310-cp310-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:f85ba1ad15d446756b4ab5f3044731bf68b777f8f9ac9cdabd2425b97cd9c4e8", size 
= 1895720, upload-time = "2025-12-08T01:46:58.197Z" },
+    { url = 
"https://files.pythonhosted.org/packages/06/97/7acc85c4add41098f4f076b21e3e4e383ad6ed0a3da26b2c89627241fc11/black-25.12.0-cp310-cp310-macosx_11_0_arm64.whl";,
 hash = 
"sha256:546eecfe9a3a6b46f9d69d8a642585a6eaf348bcbbc4d87a19635570e02d9f4a", size 
= 1727193, upload-time = "2025-12-08T01:52:26.674Z" },
+    { url = 
"https://files.pythonhosted.org/packages/24/f0/fdf0eb8ba907ddeb62255227d29d349e8256ef03558fbcadfbc26ecfe3b2/black-25.12.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:17dcc893da8d73d8f74a596f64b7c98ef5239c2cd2b053c0f25912c4494bf9ea", size 
= 1774506, upload-time = "2025-12-08T01:46:25.721Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e4/f5/9203a78efe00d13336786b133c6180a9303d46908a9aa72d1104ca214222/black-25.12.0-cp310-cp310-win_amd64.whl";,
 hash = 
"sha256:09524b0e6af8ba7a3ffabdfc7a9922fb9adef60fed008c7cd2fc01f3048e6e6f", size 
= 1416085, upload-time = "2025-12-08T01:46:06.073Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ba/cc/7a6090e6b081c3316282c05c546e76affdce7bf7a3b7d2c3a2a69438bd01/black-25.12.0-cp310-cp310-win_arm64.whl";,
 hash = 
"sha256:b162653ed89eb942758efeb29d5e333ca5bb90e5130216f8369857db5955a7da", size 
= 1226038, upload-time = "2025-12-08T01:45:29.388Z" },
+    { url = 
"https://files.pythonhosted.org/packages/60/ad/7ac0d0e1e0612788dbc48e62aef8a8e8feffac7eb3d787db4e43b8462fa8/black-25.12.0-cp311-cp311-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:d0cfa263e85caea2cff57d8f917f9f51adae8e20b610e2b23de35b5b11ce691a", size 
= 1877003, upload-time = "2025-12-08T01:43:29.967Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e8/dd/a237e9f565f3617a88b49284b59cbca2a4f56ebe68676c1aad0ce36a54a7/black-25.12.0-cp311-cp311-macosx_11_0_arm64.whl";,
 hash = 
"sha256:1a2f578ae20c19c50a382286ba78bfbeafdf788579b053d8e4980afb079ab9be", size 
= 1712639, upload-time = "2025-12-08T01:52:46.756Z" },
+    { url = 
"https://files.pythonhosted.org/packages/12/80/e187079df1ea4c12a0c63282ddd8b81d5107db6d642f7d7b75a6bcd6fc21/black-25.12.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:d3e1b65634b0e471d07ff86ec338819e2ef860689859ef4501ab7ac290431f9b", size 
= 1758143, upload-time = "2025-12-08T01:45:29.137Z" },
+    { url = 
"https://files.pythonhosted.org/packages/93/b5/3096ccee4f29dc2c3aac57274326c4d2d929a77e629f695f544e159bfae4/black-25.12.0-cp311-cp311-win_amd64.whl";,
 hash = 
"sha256:a3fa71e3b8dd9f7c6ac4d818345237dfb4175ed3bf37cd5a581dbc4c034f1ec5", size 
= 1420698, upload-time = "2025-12-08T01:45:53.379Z" },
+    { url = 
"https://files.pythonhosted.org/packages/7e/39/f81c0ffbc25ffbe61c7d0385bf277e62ffc3e52f5ee668d7369d9854fadf/black-25.12.0-cp311-cp311-win_arm64.whl";,
 hash = 
"sha256:51e267458f7e650afed8445dc7edb3187143003d52a1b710c7321aef22aa9655", size 
= 1229317, upload-time = "2025-12-08T01:46:35.606Z" },
+    { url = 
"https://files.pythonhosted.org/packages/d1/bd/26083f805115db17fda9877b3c7321d08c647df39d0df4c4ca8f8450593e/black-25.12.0-cp312-cp312-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:31f96b7c98c1ddaeb07dc0f56c652e25bdedaac76d5b68a059d998b57c55594a", size 
= 1924178, upload-time = "2025-12-08T01:49:51.048Z" },
+    { url = 
"https://files.pythonhosted.org/packages/89/6b/ea00d6651561e2bdd9231c4177f4f2ae19cc13a0b0574f47602a7519b6ca/black-25.12.0-cp312-cp312-macosx_11_0_arm64.whl";,
 hash = 
"sha256:05dd459a19e218078a1f98178c13f861fe6a9a5f88fc969ca4d9b49eb1809783", size 
= 1742643, upload-time = "2025-12-08T01:49:59.09Z" },
+    { url = 
"https://files.pythonhosted.org/packages/6d/f3/360fa4182e36e9875fabcf3a9717db9d27a8d11870f21cff97725c54f35b/black-25.12.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:c1f68c5eff61f226934be6b5b80296cf6939e5d2f0c2f7d543ea08b204bfaf59", size 
= 1800158, upload-time = "2025-12-08T01:44:27.301Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f8/08/2c64830cb6616278067e040acca21d4f79727b23077633953081c9445d61/black-25.12.0-cp312-cp312-win_amd64.whl";,
 hash = 
"sha256:274f940c147ddab4442d316b27f9e332ca586d39c85ecf59ebdea82cc9ee8892", size 
= 1426197, upload-time = "2025-12-08T01:45:51.198Z" },
+    { url = 
"https://files.pythonhosted.org/packages/d4/60/a93f55fd9b9816b7432cf6842f0e3000fdd5b7869492a04b9011a133ee37/black-25.12.0-cp312-cp312-win_arm64.whl";,
 hash = 
"sha256:169506ba91ef21e2e0591563deda7f00030cb466e747c4b09cb0a9dae5db2f43", size 
= 1237266, upload-time = "2025-12-08T01:45:10.556Z" },
+    { url = 
"https://files.pythonhosted.org/packages/c8/52/c551e36bc95495d2aa1a37d50566267aa47608c81a53f91daa809e03293f/black-25.12.0-cp313-cp313-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:a05ddeb656534c3e27a05a29196c962877c83fa5503db89e68857d1161ad08a5", size 
= 1923809, upload-time = "2025-12-08T01:46:55.126Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a0/f7/aac9b014140ee56d247e707af8db0aae2e9efc28d4a8aba92d0abd7ae9d1/black-25.12.0-cp313-cp313-macosx_11_0_arm64.whl";,
 hash = 
"sha256:9ec77439ef3e34896995503865a85732c94396edcc739f302c5673a2315e1e7f", size 
= 1742384, upload-time = "2025-12-08T01:49:37.022Z" },
+    { url = 
"https://files.pythonhosted.org/packages/74/98/38aaa018b2ab06a863974c12b14a6266badc192b20603a81b738c47e902e/black-25.12.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:0e509c858adf63aa61d908061b52e580c40eae0dfa72415fa47ac01b12e29baf", size 
= 1798761, upload-time = "2025-12-08T01:46:05.386Z" },
+    { url = 
"https://files.pythonhosted.org/packages/16/3a/a8ac542125f61574a3f015b521ca83b47321ed19bb63fe6d7560f348bfe1/black-25.12.0-cp313-cp313-win_amd64.whl";,
 hash = 
"sha256:252678f07f5bac4ff0d0e9b261fbb029fa530cfa206d0a636a34ab445ef8ca9d", size 
= 1429180, upload-time = "2025-12-08T01:45:34.903Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e6/2d/bdc466a3db9145e946762d52cd55b1385509d9f9004fec1c97bdc8debbfb/black-25.12.0-cp313-cp313-win_arm64.whl";,
 hash = 
"sha256:bc5b1c09fe3c931ddd20ee548511c64ebf964ada7e6f0763d443947fd1c603ce", size 
= 1239350, upload-time = "2025-12-08T01:46:09.458Z" },
+    { url = 
"https://files.pythonhosted.org/packages/35/46/1d8f2542210c502e2ae1060b2e09e47af6a5e5963cb78e22ec1a11170b28/black-25.12.0-cp314-cp314-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:0a0953b134f9335c2434864a643c842c44fba562155c738a2a37a4d61f00cad5", size 
= 1917015, upload-time = "2025-12-08T01:53:27.987Z" },
+    { url = 
"https://files.pythonhosted.org/packages/41/37/68accadf977672beb8e2c64e080f568c74159c1aaa6414b4cd2aef2d7906/black-25.12.0-cp314-cp314-macosx_11_0_arm64.whl";,
 hash = 
"sha256:2355bbb6c3b76062870942d8cc450d4f8ac71f9c93c40122762c8784df49543f", size 
= 1741830, upload-time = "2025-12-08T01:54:36.861Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ac/76/03608a9d8f0faad47a3af3a3c8c53af3367f6c0dd2d23a84710456c7ac56/black-25.12.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:9678bd991cc793e81d19aeeae57966ee02909877cb65838ccffef24c3ebac08f", size 
= 1791450, upload-time = "2025-12-08T01:44:52.581Z" },
+    { url = 
"https://files.pythonhosted.org/packages/06/99/b2a4bd7dfaea7964974f947e1c76d6886d65fe5d24f687df2d85406b2609/black-25.12.0-cp314-cp314-win_amd64.whl";,
 hash = 
"sha256:97596189949a8aad13ad12fcbb4ae89330039b96ad6742e6f6b45e75ad5cfd83", size 
= 1452042, upload-time = "2025-12-08T01:46:13.188Z" },
+    { url = 
"https://files.pythonhosted.org/packages/b2/7c/d9825de75ae5dd7795d007681b752275ea85a1c5d83269b4b9c754c2aaab/black-25.12.0-cp314-cp314-win_arm64.whl";,
 hash = 
"sha256:778285d9ea197f34704e3791ea9404cd6d07595745907dd2ce3da7a13627b29b", size 
= 1267446, upload-time = "2025-12-08T01:46:14.497Z" },
+    { url = 
"https://files.pythonhosted.org/packages/68/11/21331aed19145a952ad28fca2756a1433ee9308079bd03bd898e903a2e53/black-25.12.0-py3-none-any.whl";,
 hash = 
"sha256:48ceb36c16dbc84062740049eef990bb2ce07598272e673c17d1a7720c71c828", size 
= 206191, upload-time = "2025-12-08T01:40:50.963Z" },
 ]
 
 [[package]]
 name = "boto3"
-version = "1.42.4"
+version = "1.42.17"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "botocore" },
     { name = "jmespath" },
     { name = "s3transfer" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/f3/31/246916eec4fc5ff7bebf7e75caf47ee4d72b37d4120b6943e3460956e618/boto3-1.42.4.tar.gz";,
 hash = 
"sha256:65f0d98a3786ec729ba9b5f70448895b2d1d1f27949aa7af5cb4f39da341bbc4", size 
= 112826, upload-time = "2025-12-05T20:27:14.931Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/8d/cf/6e4a794e73cbf3e774ec27a5acc8442ce55d97cfc5226a20c1f58d8aee16/boto3-1.42.17.tar.gz";,
 hash = 
"sha256:8a2e345e96d5ceba755c55539c93f99705f403fbfdeef2e838eabdc56750828b", size 
= 112776, upload-time = "2025-12-26T20:33:38.289Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/00/25/9ae819385aad79f524859f7179cecf8ac019b63ac8f150c51b250967f6db/boto3-1.42.4-py3-none-any.whl";,
 hash = 
"sha256:0f4089e230d55f981d67376e48cefd41c3d58c7f694480f13288e6ff7b1fefbc", size 
= 140621, upload-time = "2025-12-05T20:27:12.803Z" },
+    { url = 
"https://files.pythonhosted.org/packages/6c/53/9f4241152eb1f5a57351232c14ef411ef35fbcc1d97a63873235d0503a8a/boto3-1.42.17-py3-none-any.whl";,
 hash = 
"sha256:e0ee40f7102712452f6776af891c8f49b5ae9133bdaf22711d6f4a78963c2614", size 
= 140572, upload-time = "2025-12-26T20:33:36.307Z" },
 ]
 
 [[package]]
 name = "botocore"
-version = "1.42.4"
+version = "1.42.17"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "jmespath" },
     { name = "python-dateutil" },
     { name = "urllib3" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/5c/b7/dec048c124619b2702b5236c5fc9d8e5b0a87013529e9245dc49aaaf31ff/botocore-1.42.4.tar.gz";,
 hash = 
"sha256:d4816023492b987a804f693c2d76fb751fdc8755d49933106d69e2489c4c0f98", size 
= 14848605, upload-time = "2025-12-05T20:27:02.919Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/4d/d2/128e2d8b9d426bd3a339e7dcf3eedca55f449af121604b6891ae80f6be9a/botocore-1.42.17.tar.gz";,
 hash = 
"sha256:d73fe22c8e1497e4d59ff7dc68eb05afac68a4a6457656811562285d6132bc04", size 
= 14911757, upload-time = "2025-12-26T20:33:27.641Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/9b/a2/7b50f12a9c5a33cd85a5f23fdf78a0cbc445c0245c16051bb627f328be06/botocore-1.42.4-py3-none-any.whl";,
 hash = 
"sha256:c3b091fd33809f187824b6434e518b889514ded5164cb379358367c18e8b0d7d", size 
= 14519938, upload-time = "2025-12-05T20:26:58.881Z" },
+    { url = 
"https://files.pythonhosted.org/packages/d1/47/cc00f2421f49784de8b9113c94b7b6580db989721f5109a24b9108308fe1/botocore-1.42.17-py3-none-any.whl";,
 hash = 
"sha256:a832e4c04e63141221480967e9e511363aa54d24c405935fccb913a18583c96b", size 
= 14586536, upload-time = "2025-12-26T20:33:24.032Z" },
 ]
 
 [[package]]
 name = "cachetools"
-version = "6.2.2"
+version = "6.2.4"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/fb/44/ca1675be2a83aeee1886ab745b28cda92093066590233cc501890eb8417a/cachetools-6.2.2.tar.gz";,
 hash = 
"sha256:8e6d266b25e539df852251cfd6f990b4bc3a141db73b939058d809ebd2590fc6", size 
= 31571, upload-time = "2025-11-13T17:42:51.465Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/bc/1d/ede8680603f6016887c062a2cf4fc8fdba905866a3ab8831aa8aa651320c/cachetools-6.2.4.tar.gz";,
 hash = 
"sha256:82c5c05585e70b6ba2d3ae09ea60b79548872185d2f24ae1f2709d37299fd607", size 
= 31731, upload-time = "2025-12-15T18:24:53.744Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/e6/46/eb6eca305c77a4489affe1c5d8f4cae82f285d9addd8de4ec084a7184221/cachetools-6.2.2-py3-none-any.whl";,
 hash = 
"sha256:6c09c98183bf58560c97b2abfcedcbaf6a896a490f534b031b661d3723b45ace", size 
= 11503, upload-time = "2025-11-13T17:42:50.232Z" },
+    { url = 
"https://files.pythonhosted.org/packages/2c/fc/1d7b80d0eb7b714984ce40efc78859c022cd930e402f599d8ca9e39c78a4/cachetools-6.2.4-py3-none-any.whl";,
 hash = 
"sha256:69a7a52634fed8b8bf6e24a050fb60bff1c9bd8f6d24572b99c32d4e71e62a51", size 
= 11551, upload-time = "2025-12-15T18:24:52.332Z" },
 ]
 
 [[package]]
@@ -567,11 +572,11 @@ wheels = [
 
 [[package]]
 name = "docutils"
-version = "0.22.3"
+version = "0.22.4"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/d9/02/111134bfeb6e6c7ac4c74594e39a59f6c0195dc4846afbeac3cba60f1927/docutils-0.22.3.tar.gz";,
 hash = 
"sha256:21486ae730e4ca9f622677b1412b879af1791efcfba517e4c6f60be543fc8cdd", size 
= 2290153, upload-time = "2025-11-06T02:35:55.655Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz";,
 hash = 
"sha256:4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968", size 
= 2291750, upload-time = "2025-12-18T19:00:26.443Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/11/a8/c6a4b901d17399c77cd81fb001ce8961e9f5e04d3daf27e8925cb012e163/docutils-0.22.3-py3-none-any.whl";,
 hash = 
"sha256:bd772e4aca73aff037958d44f2be5229ded4c09927fcf8690c577b66234d6ceb", size 
= 633032, upload-time = "2025-11-06T02:35:52.391Z" },
+    { url = 
"https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl";,
 hash = 
"sha256:d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de", size 
= 633196, upload-time = "2025-12-18T19:00:18.077Z" },
 ]
 
 [[package]]
@@ -597,11 +602,11 @@ wheels = [
 
 [[package]]
 name = "filelock"
-version = "3.20.0"
+version = "3.20.1"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/58/46/0028a82567109b5ef6e4d2a1f04a583fb513e6cf9527fcdd09afd817deeb/filelock-3.20.0.tar.gz";,
 hash = 
"sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4", size 
= 18922, upload-time = "2025-10-08T18:03:50.056Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/a7/23/ce7a1126827cedeb958fc043d61745754464eb56c5937c35bbf2b8e26f34/filelock-3.20.1.tar.gz";,
 hash = 
"sha256:b8360948b351b80f420878d8516519a2204b07aefcdcfd24912a5d33127f188c", size 
= 19476, upload-time = "2025-12-15T23:54:28.027Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/76/91/7216b27286936c16f5b4d0c530087e4a54eead683e6b0b73dd0c64844af6/filelock-3.20.0-py3-none-any.whl";,
 hash = 
"sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2", size 
= 16054, upload-time = "2025-10-08T18:03:48.35Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e3/7f/a1a97644e39e7316d850784c642093c99df1290a460df4ede27659056834/filelock-3.20.1-py3-none-any.whl";,
 hash = 
"sha256:15d9e9a67306188a44baa72f569d2bfd803076269365fdea0934385da4dc361a", size 
= 16666, upload-time = "2025-12-15T23:54:26.874Z" },
 ]
 
 [[package]]
@@ -701,15 +706,15 @@ wheels = [
 
 [[package]]
 name = "google-auth-httplib2"
-version = "0.2.1"
+version = "0.3.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "google-auth" },
     { name = "httplib2" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/e0/83/7ef576d1c7ccea214e7b001e69c006bc75e058a3a1f2ab810167204b698b/google_auth_httplib2-0.2.1.tar.gz";,
 hash = 
"sha256:5ef03be3927423c87fb69607b42df23a444e434ddb2555b73b3679793187b7de", size 
= 11086, upload-time = "2025-10-30T21:13:16.569Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/d5/ad/c1f2b1175096a8d04cf202ad5ea6065f108d26be6fc7215876bde4a7981d/google_auth_httplib2-0.3.0.tar.gz";,
 hash = 
"sha256:177898a0175252480d5ed916aeea183c2df87c1f9c26705d74ae6b951c268b0b", size 
= 11134, upload-time = "2025-12-15T22:13:51.825Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/44/a7/ca23dd006255f70e2bc469d3f9f0c82ea455335bfd682ad4d677adc435de/google_auth_httplib2-0.2.1-py3-none-any.whl";,
 hash = 
"sha256:1be94c611db91c01f9703e7f62b0a59bbd5587a95571c7b6fade510d648bc08b", size 
= 9525, upload-time = "2025-10-30T21:13:15.758Z" },
+    { url = 
"https://files.pythonhosted.org/packages/99/d5/3c97526c8796d3caf5f4b3bed2b05e8a7102326f00a334e7a438237f3b22/google_auth_httplib2-0.3.0-py3-none-any.whl";,
 hash = 
"sha256:426167e5df066e3f5a0fc7ea18768c08e7296046594ce4c8c409c2457dd1f776", size 
= 9529, upload-time = "2025-12-15T22:13:51.048Z" },
 ]
 
 [[package]]
@@ -865,14 +870,14 @@ wheels = [
 
 [[package]]
 name = "importlib-metadata"
-version = "8.7.0"
+version = "8.7.1"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "zipp", marker = "python_full_version < '3.13'" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz";,
 hash = 
"sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size 
= 56641, upload-time = "2025-04-27T15:29:01.736Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz";,
 hash = 
"sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size 
= 57107, upload-time = "2025-12-21T10:00:19.278Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl";,
 hash = 
"sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size 
= 27656, upload-time = "2025-04-27T15:29:00.214Z" },
+    { url = 
"https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl";,
 hash = 
"sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size 
= 27865, upload-time = "2025-12-21T10:00:18.329Z" },
 ]
 
 [[package]]
@@ -906,26 +911,26 @@ wheels = [
 
 [[package]]
 name = "jaraco-context"
-version = "6.0.1"
+version = "6.0.2"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "backports-tarfile", marker = "python_full_version < '3.12'" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/df/ad/f3777b81bf0b6e7bc7514a1656d3e637b2e8e15fab2ce3235730b3e7a4e6/jaraco_context-6.0.1.tar.gz";,
 hash = 
"sha256:9bae4ea555cf0b14938dc0aee7c9f32ed303aa20a3b73e7dc80111628792d1b3", size 
= 13912, upload-time = "2024-08-20T03:39:27.358Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/8d/7d/41acf8e22d791bde812cb6c2c36128bb932ed8ae066bcb5e39cb198e8253/jaraco_context-6.0.2.tar.gz";,
 hash = 
"sha256:953ae8dddb57b1d791bf72ea1009b32088840a7dd19b9ba16443f62be919ee57", size 
= 14994, upload-time = "2025-12-24T19:21:35.784Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl";,
 hash = 
"sha256:f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4", size 
= 6825, upload-time = "2024-08-20T03:39:25.966Z" },
+    { url = 
"https://files.pythonhosted.org/packages/c7/0c/1e0096ced9c55f9c6c6655446798df74165780375d3f5ab5f33751e087ae/jaraco_context-6.0.2-py3-none-any.whl";,
 hash = 
"sha256:55fc21af4b4f9ca94aa643b6ee7fe13b1e4c01abf3aeb98ca4ad9c80b741c786", size 
= 6988, upload-time = "2025-12-24T19:21:34.557Z" },
 ]
 
 [[package]]
 name = "jaraco-functools"
-version = "4.3.0"
+version = "4.4.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "more-itertools" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/f7/ed/1aa2d585304ec07262e1a83a9889880701079dde796ac7b1d1826f40c63d/jaraco_functools-4.3.0.tar.gz";,
 hash = 
"sha256:cfd13ad0dd2c47a3600b439ef72d8615d482cedcff1632930d6f28924d92f294", size 
= 19755, upload-time = "2025-08-18T20:05:09.91Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/0f/27/056e0638a86749374d6f57d0b0db39f29509cce9313cf91bdc0ac4d91084/jaraco_functools-4.4.0.tar.gz";,
 hash = 
"sha256:da21933b0417b89515562656547a77b4931f98176eb173644c0d35032a33d6bb", size 
= 19943, upload-time = "2025-12-21T09:29:43.6Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/b4/09/726f168acad366b11e420df31bf1c702a54d373a83f968d94141a8c3fde0/jaraco_functools-4.3.0-py3-none-any.whl";,
 hash = 
"sha256:227ff8ed6f7b8f62c56deff101545fa7543cf2c8e7b82a7c2116e672f29c26e8", size 
= 10408, upload-time = "2025-08-18T20:05:08.69Z" },
+    { url = 
"https://files.pythonhosted.org/packages/fd/c4/813bb09f0985cb21e959f21f2464169eca882656849adf727ac7bb7e1767/jaraco_functools-4.4.0-py3-none-any.whl";,
 hash = 
"sha256:9eec1e36f45c818d9bf307c8948eb03b2b56cd44087b3cdc989abca1f20b9176", size 
= 10481, upload-time = "2025-12-21T09:29:42.27Z" },
 ]
 
 [[package]]
@@ -1228,40 +1233,40 @@ wheels = [
 
 [[package]]
 name = "prek"
-version = "0.2.19"
-source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/0f/f5/d18c5981540da731b0dbb3499718256764d4e3c939011e78b7bb3637b626/prek-0.2.19.tar.gz";,
 hash = 
"sha256:2995be837a97ea9b8d2f27894b1fc763594701bafbc8d26c46f80ea9e2cb28a9", size 
= 346456, upload-time = "2025-11-26T09:27:22.552Z" }
-wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/ef/ab/b23d83992e76738c3aeb254739e554f32d11be58121488b124918e461200/prek-0.2.19-py3-none-linux_armv6l.whl";,
 hash = 
"sha256:8879bd9df431bfa689cd38633e324b76d6579cf1978f186849c75c9d7c0dc6b4", size 
= 4681449, upload-time = "2025-11-26T09:26:58.126Z" },
-    { url = 
"https://files.pythonhosted.org/packages/9f/4b/d2289899e3d05e825018e9e6b6d2b5e95e1b877f9b673cda352555b2b778/prek-0.2.19-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:3b57000eb18f5621c55ef255da8953aaaa316b013714e05709c76accc24487bf", size 
= 4754502, upload-time = "2025-11-26T09:27:10.633Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e4/9a/198336704e8faf86293626d39657136cb42bed7cd046a6fd183c7497e5ec/prek-0.2.19-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:598cad01b68fae2732ff552c93e8286071e58796c7f3c461c298ad8618d984ab", size 
= 4484800, upload-time = "2025-11-26T09:27:06.322Z" },
-    { url = 
"https://files.pythonhosted.org/packages/12/e6/d0f87337413a79eff029d1eb6a2d2b66d07f8bd59edbd30220d195654ad5/prek-0.2.19-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl";,
 hash = 
"sha256:dd8e5f36022fcbefbc9750e3f5067a01102b1c0808325489f5614bc012be1136", size 
= 4684849, upload-time = "2025-11-26T09:26:52.688Z" },
-    { url = 
"https://files.pythonhosted.org/packages/3d/b5/e4f4f0acc8ad1fd967494b962bfabc821807b52a7c68d2bae30c65b588c4/prek-0.2.19-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl";,
 hash = 
"sha256:721271a31f51c8c7994d24e5e3816a249c482b56fe287ec31e96f47479432201", size 
= 4608595, upload-time = "2025-11-26T09:26:44.418Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c8/24/faa519d2b8b9ceba6dd43c3e993ebacfef33ddc4be2b781beef24b9ad79e/prek-0.2.19-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl";,
 hash = 
"sha256:116bd9152c68be9a77b40af15763ddba73d4744dd606fe6686c3d2e9eb7b52b1", size 
= 4893501, upload-time = "2025-11-26T09:27:16.515Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d4/19/2b92c8fbfe9872a233fc326cb969348dd2fc8db0d01323cf822b5c2990ff/prek-0.2.19-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl";,
 hash = 
"sha256:96aef4dfcf8c3c28d93ee93f78289e07a3ce60e1f2f91d3eb9f023dc75b62216", size 
= 5318688, upload-time = "2025-11-26T09:27:02.662Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ed/8e/934b5dff72aaf6df41ae59bf5324f2c3db8a123cb976387e85c16cc639b2/prek-0.2.19-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:8a1156a1f525d3f6b69bc1c07a0dea930cb9027f95bcb4d390fe5fe7fe88687e", size 
= 5261297, upload-time = "2025-11-26T09:27:14.677Z" },
-    { url = 
"https://files.pythonhosted.org/packages/89/ba/990decf00161eed117fb7c71a9f2cba71879e77bf7a6e17d94659f72cd4e/prek-0.2.19-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl";,
 hash = 
"sha256:485b152f4a637aa761ab1634a6b9a38cd07cc6d23e3651f2c8eb4d7a507e132c", size 
= 5328804, upload-time = "2025-11-26T09:26:48.591Z" },
-    { url = 
"https://files.pythonhosted.org/packages/bf/57/b7b87ee878c45046cb220ecdd257ea0398984b104f983b7eb25a92fe86e2/prek-0.2.19-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:7613493f39918247f2d97ebce8b3692fc738aa2ab8a9f76cfa800947756cfa42", size 
= 4938116, upload-time = "2025-11-26T09:27:00.417Z" },
-    { url = 
"https://files.pythonhosted.org/packages/4b/50/33b8cd6fe3517be2a4303a72b20341a54b728e9fc0027e0cc65843210ee9/prek-0.2.19-py3-none-manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:a1546907f28b56c940f7d3cd9452052bcd97be31de92bf0a4bd07c4746929a00", size 
= 4694953, upload-time = "2025-11-26T09:26:46.463Z" },
-    { url = 
"https://files.pythonhosted.org/packages/db/8d/06b49a443a43a0fbf576e0d068ce4cce2a76367b19f42552f6182c3d06a0/prek-0.2.19-py3-none-manylinux_2_31_riscv64.whl";,
 hash = 
"sha256:7db50ebce756e6d67c4ed1935c6e1bcacf29662c9bfee4a0f401d3fb0385d922", size 
= 4708769, upload-time = "2025-11-26T09:26:50.737Z" },
-    { url = 
"https://files.pythonhosted.org/packages/18/d9/1e317d0697a98b2c57e2b4c1f8d3efeb6db86b81ce2df5211fdbb17f8b7c/prek-0.2.19-py3-none-musllinux_1_1_armv7l.whl";,
 hash = 
"sha256:37f03e0796d753a9bd82ed09a7e901474e6a26b9a6ceffa5003a3fa703497a8e", size 
= 4593381, upload-time = "2025-11-26T09:27:12.592Z" },
-    { url = 
"https://files.pythonhosted.org/packages/0c/f0/0e32a9a7fc7876d08f5b118ecab6e81c5b433ddaa4daaa6c930c46c7d916/prek-0.2.19-py3-none-musllinux_1_1_i686.whl";,
 hash = 
"sha256:3b0da9f14191e0adfb55e626ce3562d802800bc9aea96bbbdc1374290ef848c9", size 
= 4787292, upload-time = "2025-11-26T09:27:08.071Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e0/61/70204d48dd86a472d56dc75d2d9caf8236507a563428cb22fe5c90933978/prek-0.2.19-py3-none-musllinux_1_1_x86_64.whl";,
 hash = 
"sha256:9cef90e8f8d5de9a165f2a81d9ce728bd3b99b65620a8427928e832a43fe4c4b", size 
= 5053192, upload-time = "2025-11-26T09:26:56.027Z" },
-    { url = 
"https://files.pythonhosted.org/packages/14/5c/13361ca9aa8ce3bce50430b5f2afb2ea9e44639841a638f998c762c27708/prek-0.2.19-py3-none-win32.whl";,
 hash = 
"sha256:a6d19d8b10bc4aba18cf1a7902de7bede05671f484adabeac2d96a02ac470ef1", size 
= 4442525, upload-time = "2025-11-26T09:27:18.678Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c9/d5/bf010982c063ed630bf75c058e2313ba546daa11343fa2ba3116a19f5b69/prek-0.2.19-py3-none-win_amd64.whl";,
 hash = 
"sha256:34a638a2cb9808b3db8b7020c9cf03d445e9c957a36e09a443a19e1e71a2fb6c", size 
= 5114204, upload-time = "2025-11-26T09:27:04.784Z" },
-    { url = 
"https://files.pythonhosted.org/packages/06/e3/42a5fb0f0dc2d0ae117e533e9da8a0fb41850526b27dd5dd5c0f37e878fa/prek-0.2.19-py3-none-win_arm64.whl";,
 hash = 
"sha256:1a865880cc2362eb0698d938b811a796dfd5bcb49ef7abd02568f0f5e3b7ec88", size 
= 4796136, upload-time = "2025-11-26T09:27:20.766Z" },
+version = "0.2.25"
+source = { registry = "https://pypi.org/simple"; }
+sdist = { url = 
"https://files.pythonhosted.org/packages/bf/9c/839712da131cbbb8727f55a3908efac93db81cb25769ba9a9e3a3f0ec864/prek-0.2.25.tar.gz";,
 hash = 
"sha256:0ec0d67d1df64b34f071acee7bb1507d062f0231049c0b6587ec60f3bc761ee6", size 
= 281000, upload-time = "2025-12-26T16:47:27.413Z" }
+wheels = [
+    { url = 
"https://files.pythonhosted.org/packages/01/64/16ac112dbcc96579324e6053dd182d1383703b776e3eaaf9ce105e3d854f/prek-0.2.25-py3-none-linux_armv6l.whl";,
 hash = 
"sha256:a85edf16c9a8aca13842c365be62911fbca38cd27ea7c9c54b6d3168a5b21703", size 
= 4796650, upload-time = "2025-12-26T16:47:14.548Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0b/87/adf8840b12135dab0dc3c3f6689569db13f273cf4df1d4fd009d117fc8a0/prek-0.2.25-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:c6ca24d8ab728f0d5b116576114df1c679bed59501c1ab71d9f2c78230f6b38c", size 
= 4895083, upload-time = "2025-12-26T16:47:16.531Z" },
+    { url = 
"https://files.pythonhosted.org/packages/2d/4d/37b144b975c15901459761692c1090ab5112346157a8cd4326ce68ee3e09/prek-0.2.25-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:470373eba87baffe68bbbe18a4c4a85acba2709a8e834adad0c6147977ccdfb3", size 
= 4621901, upload-time = "2025-12-26T16:47:01.354Z" },
+    { url = 
"https://files.pythonhosted.org/packages/fc/14/ff1d57e7322f08048ee9117497814a8ab47e10ec4f00f77bdf9880509ffe/prek-0.2.25-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl";,
 hash = 
"sha256:9f50ae59fd33a45a58af0197a91c9a207a7f8f49e18e24ca6ca3f5d5cf88a4ac", size 
= 4820856, upload-time = "2025-12-26T16:47:22.075Z" },
+    { url = 
"https://files.pythonhosted.org/packages/3b/9c/78c00fd51bf0038cb8e828418640e98e300db81d3215f28eb699cb9a0e60/prek-0.2.25-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl";,
 hash = 
"sha256:0e74c8ebc4cc07000b588b05df22086e3ef5ce9843c7332b9cf52bdb734378b8", size 
= 4717602, upload-time = "2025-12-26T16:47:20.352Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a0/50/9e9af1a0f25d280c53ef386eca035ea4b12eaeadf9419bbc69e430c840df/prek-0.2.25-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl";,
 hash = 
"sha256:6da53de6119ec176673c4e3843abe4b6cc7190adc005564ad9e2d8b2924b3934", size 
= 5039527, upload-time = "2025-12-26T16:47:06.873Z" },
+    { url = 
"https://files.pythonhosted.org/packages/89/6b/22e87200b1888cb8fc92c48996a4c03149bedddd864db7418b326c6ebfd9/prek-0.2.25-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl";,
 hash = 
"sha256:442994797aee8a1563f7236b54bb1d99578143b30cc4559011d59a112cdf43f3", size 
= 5449809, upload-time = "2025-12-26T16:47:03.379Z" },
+    { url = 
"https://files.pythonhosted.org/packages/6f/ed/ebb63821f6c2307219bc49c914b13c89e79850c1be6d9a35fc440227666f/prek-0.2.25-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:35b3d8543969a03775f5963b8f6e957e9eb23bf191c76d47238557308e7b6bf6", size 
= 5408252, upload-time = "2025-12-26T16:47:18.713Z" },
+    { url = 
"https://files.pythonhosted.org/packages/2d/9c/1638891243b4682daf790aaa7d9ec16d63dde9ab39a0a0191a3f83647e60/prek-0.2.25-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl";,
 hash = 
"sha256:7809d7f6119be8870a2a76c15d28a122efb1f356909f355461b856619f7456fb", size 
= 5503319, upload-time = "2025-12-26T16:47:10.927Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ca/f0/5924037622520463f016356f5d6e9c140478bc8fb9b0230b38eeb5eea183/prek-0.2.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:57db60d6e7882e1b0d6b0a2e6e4b8c240977b9309b4be0793b2d7151021f3767", size 
= 5092919, upload-time = "2025-12-26T16:47:12.921Z" },
+    { url = 
"https://files.pythonhosted.org/packages/17/d6/1ca7f639866a04d8b7b01e8e46da214b27e8dece98a8d854c43b41e50f90/prek-0.2.25-py3-none-manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:2cdedc528e935f01b97a7459b68b4f7584f8efcfc1b69d271a2a1bc3d6a60d36", size 
= 4826998, upload-time = "2025-12-26T16:47:05.058Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5d/de/9dd50fb437fa7c150e8c56468e7c103b0ddca0a1d11a4371785cdc96fa16/prek-0.2.25-py3-none-manylinux_2_31_riscv64.whl";,
 hash = 
"sha256:68458ec5d8cadb18667d5126b6a98c0fd2214b624805935c90213d9205378dc8", size 
= 4835330, upload-time = "2025-12-26T16:47:25.809Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e0/e6/8a27781a1e88063afce9b9602833c210577261bbc53576bbec0e83a9a8f0/prek-0.2.25-py3-none-musllinux_1_1_armv7l.whl";,
 hash = 
"sha256:7b8fa764a3665ab38884e2c909f3297e5c29137cafc9c409c1eaab734d7eefcd", size 
= 4703194, upload-time = "2025-12-26T16:47:34.503Z" },
+    { url = 
"https://files.pythonhosted.org/packages/22/43/03186172e33f235261e942549f3cda351dfe8fa564ca69ad065f6de39a7f/prek-0.2.25-py3-none-musllinux_1_1_i686.whl";,
 hash = 
"sha256:4073a368e949a117d77fcdbce13ff14a001b71e797fa35ec921892714bcfb389", size 
= 4924956, upload-time = "2025-12-26T16:47:32.871Z" },
+    { url = 
"https://files.pythonhosted.org/packages/1f/cc/cbcecd7d6a3ccae74b9df3d14b2d4c92b9aa763eec3dc4349677f2219d3b/prek-0.2.25-py3-none-musllinux_1_1_x86_64.whl";,
 hash = 
"sha256:401d33d1f54f62489b95e7aaacb9cdecac2ab61fe0bd607c8a6c11963e6ad2b9", size 
= 5200290, upload-time = "2025-12-26T16:47:08.751Z" },
+    { url = 
"https://files.pythonhosted.org/packages/2f/ee/1779e94664cb0ffc0d751a04f0e4405084f38edfbdac2cde7d9bdf9353ab/prek-0.2.25-py3-none-win32.whl";,
 hash = 
"sha256:3d0b9d5fb93cb679ef486f8e6c7ec091723d610d48a5430ef5ece22d649ae686", size 
= 4618371, upload-time = "2025-12-26T16:47:23.849Z" },
+    { url = 
"https://files.pythonhosted.org/packages/05/8c/d807f6a6914d4262fa29d8d3834f4f0600be44cb280b19c7777790de2bb3/prek-0.2.25-py3-none-win_amd64.whl";,
 hash = 
"sha256:fbcdeb1d847a0e7ba6a250d4f71be2eb1773d54dd9bb14e35584b69a8d3ffce6", size 
= 5307946, upload-time = "2025-12-26T16:47:31.172Z" },
+    { url = 
"https://files.pythonhosted.org/packages/69/ff/5e2cb72168e9dd71282b8b0c58abd5c7bf0bf8635612d24fcf8273d2e306/prek-0.2.25-py3-none-win_arm64.whl";,
 hash = 
"sha256:b2692991046cb32f0ef7e02e49842858c87e915cf811aa3c0f473b2c073d9c67", size 
= 4973841, upload-time = "2025-12-26T16:47:29.413Z" },
 ]
 
 [[package]]
 name = "proto-plus"
-version = "1.26.1"
+version = "1.27.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "protobuf" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz";,
 hash = 
"sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012", size 
= 56142, upload-time = "2025-03-10T15:54:38.843Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/01/89/9cbe2f4bba860e149108b683bc2efec21f14d5f7ed6e25562ad86acbc373/proto_plus-1.27.0.tar.gz";,
 hash = 
"sha256:873af56dd0d7e91836aee871e5799e1c6f1bda86ac9a983e0bb9f0c266a568c4", size 
= 56158, upload-time = "2025-12-16T13:46:25.729Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/4e/6d/280c4c2ce28b1593a19ad5239c8b826871fc6ec275c21afc8e1820108039/proto_plus-1.26.1-py3-none-any.whl";,
 hash = 
"sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66", size 
= 50163, upload-time = "2025-03-10T15:54:37.335Z" },
+    { url = 
"https://files.pythonhosted.org/packages/cd/24/3b7a0818484df9c28172857af32c2397b6d8fcd99d9468bd4684f98ebf0a/proto_plus-1.27.0-py3-none-any.whl";,
 hash = 
"sha256:1baa7f81cf0f8acb8bc1f6d085008ba4171eaf669629d1b6d1673b21ed1c0a82", size 
= 50205, upload-time = "2025-12-16T13:46:24.76Z" },
 ]
 
 [[package]]
@@ -1281,28 +1286,30 @@ wheels = [
 
 [[package]]
 name = "psutil"
-version = "7.1.3"
-source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/e1/88/bdd0a41e5857d5d703287598cbf08dad90aed56774ea52ae071bae9071b6/psutil-7.1.3.tar.gz";,
 hash = 
"sha256:6c86281738d77335af7aec228328e944b30930899ea760ecf33a4dba66be5e74", size 
= 489059, upload-time = "2025-11-02T12:25:54.619Z" }
-wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/bd/93/0c49e776b8734fef56ec9c5c57f923922f2cf0497d62e0f419465f28f3d0/psutil-7.1.3-cp313-cp313t-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:0005da714eee687b4b8decd3d6cc7c6db36215c9e74e5ad2264b90c3df7d92dc", size 
= 239751, upload-time = "2025-11-02T12:25:58.161Z" },
-    { url = 
"https://files.pythonhosted.org/packages/6f/8d/b31e39c769e70780f007969815195a55c81a63efebdd4dbe9e7a113adb2f/psutil-7.1.3-cp313-cp313t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:19644c85dcb987e35eeeaefdc3915d059dac7bd1167cdcdbf27e0ce2df0c08c0", size 
= 240368, upload-time = "2025-11-02T12:26:00.491Z" },
-    { url = 
"https://files.pythonhosted.org/packages/62/61/23fd4acc3c9eebbf6b6c78bcd89e5d020cfde4acf0a9233e9d4e3fa698b4/psutil-7.1.3-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:95ef04cf2e5ba0ab9eaafc4a11eaae91b44f4ef5541acd2ee91d9108d00d59a7", size 
= 287134, upload-time = "2025-11-02T12:26:02.613Z" },
-    { url = 
"https://files.pythonhosted.org/packages/30/1c/f921a009ea9ceb51aa355cb0cc118f68d354db36eae18174bab63affb3e6/psutil-7.1.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:1068c303be3a72f8e18e412c5b2a8f6d31750fb152f9cb106b54090296c9d251", size 
= 289904, upload-time = "2025-11-02T12:26:05.207Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a6/82/62d68066e13e46a5116df187d319d1724b3f437ddd0f958756fc052677f4/psutil-7.1.3-cp313-cp313t-win_amd64.whl";,
 hash = 
"sha256:18349c5c24b06ac5612c0428ec2a0331c26443d259e2a0144a9b24b4395b58fa", size 
= 249642, upload-time = "2025-11-02T12:26:07.447Z" },
-    { url = 
"https://files.pythonhosted.org/packages/df/ad/c1cd5fe965c14a0392112f68362cfceb5230819dbb5b1888950d18a11d9f/psutil-7.1.3-cp313-cp313t-win_arm64.whl";,
 hash = 
"sha256:c525ffa774fe4496282fb0b1187725793de3e7c6b29e41562733cae9ada151ee", size 
= 245518, upload-time = "2025-11-02T12:26:09.719Z" },
-    { url = 
"https://files.pythonhosted.org/packages/2e/bb/6670bded3e3236eb4287c7bcdc167e9fae6e1e9286e437f7111caed2f909/psutil-7.1.3-cp314-cp314t-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:b403da1df4d6d43973dc004d19cee3b848e998ae3154cc8097d139b77156c353", size 
= 239843, upload-time = "2025-11-02T12:26:11.968Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b8/66/853d50e75a38c9a7370ddbeefabdd3d3116b9c31ef94dc92c6729bc36bec/psutil-7.1.3-cp314-cp314t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:ad81425efc5e75da3f39b3e636293360ad8d0b49bed7df824c79764fb4ba9b8b", size 
= 240369, upload-time = "2025-11-02T12:26:14.358Z" },
-    { url = 
"https://files.pythonhosted.org/packages/41/bd/313aba97cb5bfb26916dc29cf0646cbe4dd6a89ca69e8c6edce654876d39/psutil-7.1.3-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:8f33a3702e167783a9213db10ad29650ebf383946e91bc77f28a5eb083496bc9", size 
= 288210, upload-time = "2025-11-02T12:26:16.699Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c2/fa/76e3c06e760927a0cfb5705eb38164254de34e9bd86db656d4dbaa228b04/psutil-7.1.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:fac9cd332c67f4422504297889da5ab7e05fd11e3c4392140f7370f4208ded1f", size 
= 291182, upload-time = "2025-11-02T12:26:18.848Z" },
-    { url = 
"https://files.pythonhosted.org/packages/0f/1d/5774a91607035ee5078b8fd747686ebec28a962f178712de100d00b78a32/psutil-7.1.3-cp314-cp314t-win_amd64.whl";,
 hash = 
"sha256:3792983e23b69843aea49c8f5b8f115572c5ab64c153bada5270086a2123c7e7", size 
= 250466, upload-time = "2025-11-02T12:26:21.183Z" },
-    { url = 
"https://files.pythonhosted.org/packages/00/ca/e426584bacb43a5cb1ac91fae1937f478cd8fbe5e4ff96574e698a2c77cd/psutil-7.1.3-cp314-cp314t-win_arm64.whl";,
 hash = 
"sha256:31d77fcedb7529f27bb3a0472bea9334349f9a04160e8e6e5020f22c59893264", size 
= 245756, upload-time = "2025-11-02T12:26:23.148Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ef/94/46b9154a800253e7ecff5aaacdf8ebf43db99de4a2dfa18575b02548654e/psutil-7.1.3-cp36-abi3-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:2bdbcd0e58ca14996a42adf3621a6244f1bb2e2e528886959c72cf1e326677ab", size 
= 238359, upload-time = "2025-11-02T12:26:25.284Z" },
-    { url = 
"https://files.pythonhosted.org/packages/68/3a/9f93cff5c025029a36d9a92fef47220ab4692ee7f2be0fba9f92813d0cb8/psutil-7.1.3-cp36-abi3-macosx_11_0_arm64.whl";,
 hash = 
"sha256:bc31fa00f1fbc3c3802141eede66f3a2d51d89716a194bf2cd6fc68310a19880", size 
= 239171, upload-time = "2025-11-02T12:26:27.23Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ce/b1/5f49af514f76431ba4eea935b8ad3725cdeb397e9245ab919dbc1d1dc20f/psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:3bb428f9f05c1225a558f53e30ccbad9930b11c3fc206836242de1091d3e7dd3", size 
= 263261, upload-time = "2025-11-02T12:26:29.48Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e0/95/992c8816a74016eb095e73585d747e0a8ea21a061ed3689474fabb29a395/psutil-7.1.3-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:56d974e02ca2c8eb4812c3f76c30e28836fffc311d55d979f1465c1feeb2b68b", size 
= 264635, upload-time = "2025-11-02T12:26:31.74Z" },
-    { url = 
"https://files.pythonhosted.org/packages/55/4c/c3ed1a622b6ae2fd3c945a366e64eb35247a31e4db16cf5095e269e8eb3c/psutil-7.1.3-cp37-abi3-win_amd64.whl";,
 hash = 
"sha256:f39c2c19fe824b47484b96f9692932248a54c43799a84282cfe58d05a6449efd", size 
= 247633, upload-time = "2025-11-02T12:26:33.887Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c9/ad/33b2ccec09bf96c2b2ef3f9a6f66baac8253d7565d8839e024a6b905d45d/psutil-7.1.3-cp37-abi3-win_arm64.whl";,
 hash = 
"sha256:bd0d69cee829226a761e92f28140bec9a5ee9d5b4fb4b0cc589068dbfff559b1", size 
= 244608, upload-time = "2025-11-02T12:26:36.136Z" },
+version = "7.2.0"
+source = { registry = "https://pypi.org/simple"; }
+sdist = { url = 
"https://files.pythonhosted.org/packages/be/7c/31d1c3ceb1260301f87565f50689dc6da3db427ece1e1e012af22abca54e/psutil-7.2.0.tar.gz";,
 hash = 
"sha256:2e4f8e1552f77d14dc96fb0f6240c5b34a37081c0889f0853b3b29a496e5ef64", size 
= 489863, upload-time = "2025-12-23T20:26:24.616Z" }
+wheels = [
+    { url = 
"https://files.pythonhosted.org/packages/a8/8e/b35aae6ed19bc4e2286cac4832e4d522fcf00571867b0a85a3f77ef96a80/psutil-7.2.0-cp313-cp313t-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:c31e927555539132a00380c971816ea43d089bf4bd5f3e918ed8c16776d68474", size 
= 129593, upload-time = "2025-12-23T20:26:28.019Z" },
+    { url = 
"https://files.pythonhosted.org/packages/61/a2/773d17d74e122bbffe08b97f73f2d4a01ef53fb03b98e61b8e4f64a9c6b9/psutil-7.2.0-cp313-cp313t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:db8e44e766cef86dea47d9a1fa535d38dc76449e5878a92f33683b7dba5bfcb2", size 
= 130104, upload-time = "2025-12-23T20:26:30.27Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0d/e3/d3a9b3f4bd231abbd70a988beb2e3edd15306051bccbfc4472bd34a56e01/psutil-7.2.0-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:85ef849ac92169dedc59a7ac2fb565f47b3468fbe1524bf748746bc21afb94c7", size 
= 180579, upload-time = "2025-12-23T20:26:32.628Z" },
+    { url = 
"https://files.pythonhosted.org/packages/66/f8/6c73044424aabe1b7824d4d4504029d406648286d8fe7ba8c4682e0d3042/psutil-7.2.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:26782bdbae2f5c14ce9ebe8ad2411dc2ca870495e0cd90f8910ede7fa5e27117", size 
= 183171, upload-time = "2025-12-23T20:26:34.972Z" },
+    { url = 
"https://files.pythonhosted.org/packages/48/7d/76d7a863340885d41826562225a566683e653ee6c9ba03c9f3856afa7d80/psutil-7.2.0-cp313-cp313t-win_amd64.whl";,
 hash = 
"sha256:b7665f612d3b38a583391b95969667a53aaf6c5706dc27a602c9a4874fbf09e4", size 
= 139055, upload-time = "2025-12-23T20:26:36.848Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a0/48/200054ada0ae4872c8a71db54f3eb6a9af4101680ee6830d373b7fda526b/psutil-7.2.0-cp313-cp313t-win_arm64.whl";,
 hash = 
"sha256:4413373c174520ae28a24a8974ad8ce6b21f060d27dde94e25f8c73a7effe57a", size 
= 134737, upload-time = "2025-12-23T20:26:38.784Z" },
+    { url = 
"https://files.pythonhosted.org/packages/44/86/98da45dff471b93ef5ce5bcaefa00e3038295a7880a77cf74018243d37fb/psutil-7.2.0-cp314-cp314t-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:2f2f53fd114e7946dfba3afb98c9b7c7f376009447360ca15bfb73f2066f84c7", size 
= 129692, upload-time = "2025-12-23T20:26:40.623Z" },
+    { url = 
"https://files.pythonhosted.org/packages/50/ee/10eae91ba4ad071c92db3c178ba861f30406342de9f0ddbe6d51fd741236/psutil-7.2.0-cp314-cp314t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:e65c41d7e60068f60ce43b31a3a7fc90deb0dfd34ffc824a2574c2e5279b377e", size 
= 130110, upload-time = "2025-12-23T20:26:42.569Z" },
+    { url = 
"https://files.pythonhosted.org/packages/87/3a/2b2897443d56fedbbc34ac68a0dc7d55faa05d555372a2f989109052f86d/psutil-7.2.0-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:cc66d21366850a4261412ce994ae9976bba9852dafb4f2fa60db68ed17ff5281", size 
= 181487, upload-time = "2025-12-23T20:26:44.633Z" },
+    { url = 
"https://files.pythonhosted.org/packages/11/66/44308428f7333db42c5ea7390c52af1b38f59b80b80c437291f58b5dfdad/psutil-7.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:e025d67b42b8f22b096d5d20f5171de0e0fefb2f0ce983a13c5a1b5ed9872706", size 
= 184320, upload-time = "2025-12-23T20:26:46.83Z" },
+    { url = 
"https://files.pythonhosted.org/packages/18/28/d2feadc7f18e501c5ce687c377db7dca924585418fd694272b8e488ea99f/psutil-7.2.0-cp314-cp314t-win_amd64.whl";,
 hash = 
"sha256:45f6b91f7ad63414d6454fd609e5e3556d0e1038d5d9c75a1368513bdf763f57", size 
= 140372, upload-time = "2025-12-23T20:26:49.334Z" },
+    { url = 
"https://files.pythonhosted.org/packages/b2/1d/48381f5fd0425aa054c4ee3de24f50de3d6c347019f3aec75f357377d447/psutil-7.2.0-cp314-cp314t-win_arm64.whl";,
 hash = 
"sha256:87b18a19574139d60a546e88b5f5b9cbad598e26cdc790d204ab95d7024f03ee", size 
= 135400, upload-time = "2025-12-23T20:26:51.585Z" },
+    { url = 
"https://files.pythonhosted.org/packages/40/c5/a49160bf3e165b7b93a60579a353cf5d939d7f878fe5fd369110f1d18043/psutil-7.2.0-cp36-abi3-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:977a2fcd132d15cb05b32b2d85b98d087cad039b0ce435731670ba74da9e6133", size 
= 128116, upload-time = "2025-12-23T20:26:53.516Z" },
+    { url = 
"https://files.pythonhosted.org/packages/10/a1/c75feb480f60cd768fb6ed00ac362a16a33e5076ec8475a22d8162fb2659/psutil-7.2.0-cp36-abi3-macosx_11_0_arm64.whl";,
 hash = 
"sha256:24151011c21fadd94214d7139d7c6c54569290d7e553989bdf0eab73b13beb8c", size 
= 128925, upload-time = "2025-12-23T20:26:55.573Z" },
+    { url = 
"https://files.pythonhosted.org/packages/12/ff/e93136587c00a543f4bc768b157fac2c47cd77b180d4f4e5c6efb6ea53a2/psutil-7.2.0-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:91f211ba9279e7c61d9d8f84b713cfc38fa161cb0597d5cb3f1ca742f6848254", size 
= 154666, upload-time = "2025-12-23T20:26:57.312Z" },
+    { url = 
"https://files.pythonhosted.org/packages/b8/dd/4c2de9c3827c892599d277a69d2224136800870a8a88a80981de905de28d/psutil-7.2.0-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:f37415188b7ea98faf90fed51131181646c59098b077550246e2e092e127418b", size 
= 156109, upload-time = "2025-12-23T20:26:58.851Z" },
+    { url = 
"https://files.pythonhosted.org/packages/81/3f/090943c682d3629968dd0b04826ddcbc760ee1379021dbe316e2ddfcd01b/psutil-7.2.0-cp36-abi3-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:0d12c7ce6ed1128cd81fd54606afa054ac7dbb9773469ebb58cf2f171c49f2ac", size 
= 148081, upload-time = "2025-12-23T20:27:01.318Z" },
+    { url = 
"https://files.pythonhosted.org/packages/c4/88/c39648ebb8ec182d0364af53cdefe6eddb5f3872ba718b5855a8ff65d6d4/psutil-7.2.0-cp36-abi3-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:ca0faef7976530940dcd39bc5382d0d0d5eb023b186a4901ca341bd8d8684151", size 
= 147376, upload-time = "2025-12-23T20:27:03.347Z" },
+    { url = 
"https://files.pythonhosted.org/packages/01/a2/5b39e08bd9b27476bc7cce7e21c71a481ad60b81ffac49baf02687a50d7f/psutil-7.2.0-cp37-abi3-win_amd64.whl";,
 hash = 
"sha256:abdb74137ca232d20250e9ad471f58d500e7743bc8253ba0bfbf26e570c0e437", size 
= 136910, upload-time = "2025-12-23T20:27:05.289Z" },
+    { url = 
"https://files.pythonhosted.org/packages/59/54/53839db1258c1eaeb4ded57ff202144ebc75b23facc05a74fd98d338b0c6/psutil-7.2.0-cp37-abi3-win_arm64.whl";,
 hash = 
"sha256:284e71038b3139e7ab3834b63b3eb5aa5565fcd61a681ec746ef9a0a8c457fd2", size 
= 133807, upload-time = "2025-12-23T20:27:06.825Z" },
 ]
 
 [[package]]
@@ -1422,11 +1429,11 @@ wheels = [
 
 [[package]]
 name = "pyparsing"
-version = "3.2.5"
+version = "3.3.1"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz";,
 hash = 
"sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", size 
= 1099274, upload-time = "2025-09-21T04:11:06.277Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/33/c1/1d9de9aeaa1b89b0186e5fe23294ff6517fce1bc69149185577cd31016b2/pyparsing-3.3.1.tar.gz";,
 hash = 
"sha256:47fad0f17ac1e2cad3de3b458570fbc9b03560aa029ed5e16ee5554da9a2251c", size 
= 1550512, upload-time = "2025-12-23T03:14:04.391Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl";,
 hash = 
"sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size 
= 113890, upload-time = "2025-09-21T04:11:04.117Z" },
+    { url = 
"https://files.pythonhosted.org/packages/8b/40/2614036cdd416452f5bf98ec037f38a1afb17f327cb8e6b652d4729e0af8/pyparsing-3.3.1-py3-none-any.whl";,
 hash = 
"sha256:023b5e7e5520ad96642e2c6db4cb683d3970bd640cdf7115049a6e9c3682df82", size 
= 121793, upload-time = "2025-12-23T03:14:02.103Z" },
 ]
 
 [[package]]
@@ -2011,11 +2018,11 @@ wheels = [
 
 [[package]]
 name = "urllib3"
-version = "2.6.0"
+version = "2.6.2"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/1c/43/554c2569b62f49350597348fc3ac70f786e3c32e7f19d266e19817812dd3/urllib3-2.6.0.tar.gz";,
 hash = 
"sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1", size 
= 432585, upload-time = "2025-12-05T15:08:47.885Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz";,
 hash = 
"sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size 
= 432930, upload-time = "2025-12-11T15:56:40.252Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/56/1a/9ffe814d317c5224166b23e7c47f606d6e473712a2fad0f704ea9b99f246/urllib3-2.6.0-py3-none-any.whl";,
 hash = 
"sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f", size 
= 131083, upload-time = "2025-12-05T15:08:45.983Z" },
+    { url = 
"https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl";,
 hash = 
"sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size 
= 131182, upload-time = "2025-12-11T15:56:38.584Z" },
 ]
 
 [[package]]
@@ -2032,28 +2039,28 @@ wheels = [
 
 [[package]]
 name = "uv"
-version = "0.9.16"
-source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/bc/21/1a01209d34d49135151edd058bfefe395fd8c7f17233754d85c036311c4c/uv-0.9.16.tar.gz";,
 hash = 
"sha256:b73269213e22e8638d14d0f8ae1bef34a0a3c20a3bd2010544456d36159e357d", size 
= 3806010, upload-time = "2025-12-06T14:19:17.889Z" }
-wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/1f/3c/dfea2ce3f863f5fe3762d6305ff54b05d49c36d531c452e0483b226899b4/uv-0.9.16-py3-none-linux_armv6l.whl";,
 hash = 
"sha256:748b6d408429d9d9ee3e59a33e714bf41471b8534c8fc1526e0d8b695c7304e1", size 
= 21086205, upload-time = "2025-12-06T14:18:49.667Z" },
-    { url = 
"https://files.pythonhosted.org/packages/21/73/9b8059692dff670b10cc91aa7fb130397e35e22895f47a0d87b1fcd3c1b9/uv-0.9.16-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:a4add59e5fb179ff01a8dc02cd24a9c7dcd8a60d3744c2dfacf2818eb709a1de", size 
= 20271218, upload-time = "2025-12-06T14:19:36.686Z" },
-    { url = 
"https://files.pythonhosted.org/packages/73/d3/2f81803f4fe818b8a1f0c256523a1fed17372d8b901798a92b6316c42757/uv-0.9.16-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:ac60c04510e4710370762c8d7f9382f269b881efacc4262e2229ef27df39441c", size 
= 18831407, upload-time = "2025-12-06T14:19:03.524Z" },
-    { url = 
"https://files.pythonhosted.org/packages/16/42/13bd057513b7616ec0416d070186e410474f8f9c9fa48b965561a8d214af/uv-0.9.16-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl";,
 hash = 
"sha256:5cacb026d93e9be53f9c74ee4907d2df8c3d94c7b24b1c3130f0aee62b6a0b86", size 
= 20551474, upload-time = "2025-12-06T14:18:37.936Z" },
-    { url = 
"https://files.pythonhosted.org/packages/94/83/94c46b6f00fb9602cdb1c4f38f0226643f0151ba082544c516d866af84c8/uv-0.9.16-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl";,
 hash = 
"sha256:cd1a625a4cd13a45a667297c30cceb1393167c413ee3fb7ed46606a857abb4fd", size 
= 20704842, upload-time = "2025-12-06T14:19:20.861Z" },
-    { url = 
"https://files.pythonhosted.org/packages/8e/0c/30fa6f16f31931d20db626f607783ada5e2f01d2307ee51fc477054b779b/uv-0.9.16-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl";,
 hash = 
"sha256:69b405c7de06a8290eae6b246397ad2a3bda8b52e3b8f445a8417d9f62d938e8", size 
= 21681575, upload-time = "2025-12-06T14:18:54.972Z" },
-    { url = 
"https://files.pythonhosted.org/packages/3c/e6/6a6acdde5d7df54c65ea277fded6e480ff79ffc00d6c8c3404d0142ca5d5/uv-0.9.16-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl";,
 hash = 
"sha256:7e2ea8e2c8e77c6d3406a66155b07b445107085d240fe52e33d7f5180f356028", size 
= 23322212, upload-time = "2025-12-06T14:19:11.298Z" },
-    { url = 
"https://files.pythonhosted.org/packages/1d/40/189099b44b9bd02d594dedafcd5da39f4d758e4690c504b624a61cb9eea8/uv-0.9.16-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:f231876fa98247e8e009a91a5ea4c032e2f3315f141510259507f847f154254d", size 
= 22901411, upload-time = "2025-12-06T14:19:24.856Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a7/76/f09c9967648dc22c01d6cf8ce9eeb8b83fdf19c6f0a4090607be608dbcf9/uv-0.9.16-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl";,
 hash = 
"sha256:c43af679a125f41b2f0fe9801ec640e9971d6c24d9e3bea2eaea4d56f240d5ed", size 
= 21970469, upload-time = "2025-12-06T14:19:15.531Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d1/24/3d737f69753143bba3808d18a1ec7e972cf5d337fbe1dbad6223a3d8d88f/uv-0.9.16-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:13217422d30f5c70d37409dd5064d8dbc5a58c1cbaa29f081f43586195a50cc9", size 
= 22009128, upload-time = "2025-12-06T14:19:28.771Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c6/1a/261d30ac548290bf13c743101c4a08bc3c37f001d3a45b8d0684fe2d151a/uv-0.9.16-py3-none-manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:f06a6e172f34c70865784ff9108a1eabc5a99c97363d9ee587884b111bb220d2", size 
= 20698915, upload-time = "2025-12-06T14:19:40.497Z" },
-    { url = 
"https://files.pythonhosted.org/packages/21/31/be1651da4398ee7d5064e712a80f0ad83dc47533531f78fb35ae237f1917/uv-0.9.16-py3-none-manylinux_2_31_riscv64.whl";,
 hash = 
"sha256:307336087b53e0a1e6e1c7ec4633ca0bf11be786c692e23c3a343cac37b3e013", size 
= 21936423, upload-time = "2025-12-06T14:18:41.815Z" },
-    { url = 
"https://files.pythonhosted.org/packages/81/2d/953ddab1cbef688ceb365b571249ce333e7bc8a70af894d1f85e969dc427/uv-0.9.16-py3-none-musllinux_1_1_armv7l.whl";,
 hash = 
"sha256:0b1e32a5c4024b8628b2799d407ffa7aa913ca1554258e963a516936119baba1", size 
= 20656496, upload-time = "2025-12-06T14:19:44.2Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e8/9d/ef3ff37c6485a3d482c774da0cdb0cb7415a3e267af3b000978c10e0264b/uv-0.9.16-py3-none-musllinux_1_1_i686.whl";,
 hash = 
"sha256:c21aa40106a902a531a3890d414dd3a418db4a17275f3a3829d08ddc1888bb2d", size 
= 21154195, upload-time = "2025-12-06T14:19:07.217Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b5/8b/645a28fa9ff93dfe037385a04e27b45cd7335173c7c6239d157b6a09d623/uv-0.9.16-py3-none-musllinux_1_1_x86_64.whl";,
 hash = 
"sha256:0d012ef231699cad1eaf9ab1f5b076522970dcf87bfba3a684e66a02c6a1575d", size 
= 22207319, upload-time = "2025-12-06T14:18:59.521Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a7/7a/c4e8bc5b759d5da4fcabe0b1fc876f67913da4880d0cec34e9e6418ff93c/uv-0.9.16-py3-none-win32.whl";,
 hash = 
"sha256:0229a4dfd0ff7e257bcd791f2d78cf1d682b01856d52d95602c56bb5ed97cc72", size 
= 19908839, upload-time = "2025-12-06T14:18:46.032Z" },
-    { url = 
"https://files.pythonhosted.org/packages/3b/21/6ecf7db074235552d7b0be84c48d934e9916809d7dafb96d9a1019dd2ded/uv-0.9.16-py3-none-win_amd64.whl";,
 hash = 
"sha256:e3e9a69a463607b9886afa34ce68dadf9a378eb6d191c878156fd8864e604c1e", size 
= 22033348, upload-time = "2025-12-06T14:19:48.091Z" },
-    { url = 
"https://files.pythonhosted.org/packages/db/a1/4c44988817b72b17f09010983fd40b05f76ce54988fbdd707a8a33cfd498/uv-0.9.16-py3-none-win_arm64.whl";,
 hash = 
"sha256:18d430980e7f4915a42854bc98a76f87f30da8859469a864fcf33e0a31fafdd1", size 
= 20396419, upload-time = "2025-12-06T14:19:32.586Z" },
+version = "0.9.18"
+source = { registry = "https://pypi.org/simple"; }
+sdist = { url = 
"https://files.pythonhosted.org/packages/e3/03/1afff9e6362dc9d3a9e03743da0a4b4c7a0809f859c79eb52bbae31ea582/uv-0.9.18.tar.gz";,
 hash = 
"sha256:17b5502f7689c4dc1fdeee9d8437a9a6664dcaa8476e70046b5f4753559533f5", size 
= 3824466, upload-time = "2025-12-16T15:45:11.81Z" }
+wheels = [
+    { url = 
"https://files.pythonhosted.org/packages/26/9c/92fad10fcee8ea170b66442d95fd2af308fe9a107909ded4b3cc384fdc69/uv-0.9.18-py3-none-linux_armv6l.whl";,
 hash = 
"sha256:e9e4915bb280c1f79b9a1c16021e79f61ed7c6382856ceaa99d53258cb0b4951", size 
= 21345538, upload-time = "2025-12-16T15:45:13.992Z" },
+    { url = 
"https://files.pythonhosted.org/packages/81/b1/b0e5808e05acb54aa118c625d9f7b117df614703b0cbb89d419d03d117f3/uv-0.9.18-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:d91abfd2649987996e3778729140c305ef0f6ff5909f55aac35c3c372544a24f", size 
= 20439572, upload-time = "2025-12-16T15:45:26.397Z" },
+    { url = 
"https://files.pythonhosted.org/packages/b7/0b/9487d83adf5b7fd1e20ced33f78adf84cb18239c3d7e91f224cedba46c08/uv-0.9.18-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:cf33f4146fd97e94cdebe6afc5122208eea8c55b65ca4127f5a5643c9717c8b8", size 
= 18952907, upload-time = "2025-12-16T15:44:48.399Z" },
+    { url = 
"https://files.pythonhosted.org/packages/58/92/c8f7ae8900eff8e4ce1f7826d2e1e2ad5a95a5f141abdb539865aff79930/uv-0.9.18-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl";,
 hash = 
"sha256:edf965e9a5c55f74020ac82285eb0dfe7fac4f325ad0a7afc816290269ecfec1", size 
= 20772495, upload-time = "2025-12-16T15:45:29.614Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5a/28/9831500317c1dd6cde5099e3eb3b22b88ac75e47df7b502f6aef4df5750e/uv-0.9.18-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl";,
 hash = 
"sha256:ae10a941bd7ca1ee69edbe3998c34dce0a9fc2d2406d98198343daf7d2078493", size 
= 20949623, upload-time = "2025-12-16T15:44:57.482Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0c/ff/1fe1ffa69c8910e54dd11f01fb0765d4fd537ceaeb0c05fa584b6b635b82/uv-0.9.18-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl";,
 hash = 
"sha256:a1669a95b588f613b13dd10e08ced6d5bcd79169bba29a2240eee87532648790", size 
= 21920580, upload-time = "2025-12-16T15:44:39.009Z" },
+    { url = 
"https://files.pythonhosted.org/packages/d6/ee/eed3ec7679ee80e16316cfc95ed28ef6851700bcc66edacfc583cbd2cc47/uv-0.9.18-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl";,
 hash = 
"sha256:11e1e406590d3159138288203a41ff8a8904600b8628a57462f04ff87d62c477", size 
= 23491234, upload-time = "2025-12-16T15:45:32.59Z" },
+    { url = 
"https://files.pythonhosted.org/packages/78/58/64b15df743c79ad03ea7fbcbd27b146ba16a116c57f557425dd4e44d6684/uv-0.9.18-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:1e82078d3c622cb4c60da87f156168ffa78b9911136db7ffeb8e5b0a040bf30e", size 
= 23095438, upload-time = "2025-12-16T15:45:17.916Z" },
+    { url = 
"https://files.pythonhosted.org/packages/43/6d/3d3dae71796961603c3871699e10d6b9de2e65a3c327b58d4750610a5f93/uv-0.9.18-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl";,
 hash = 
"sha256:704abaf6e76b4d293fc1f24bef2c289021f1df0de9ed351f476cbbf67a7edae0", size 
= 22140992, upload-time = "2025-12-16T15:44:45.527Z" },
+    { url = 
"https://files.pythonhosted.org/packages/31/91/1042d0966a30e937df500daed63e1f61018714406ce4023c8a6e6d2dcf7c/uv-0.9.18-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:3332188fd8d96a68e5001409a52156dced910bf1bc41ec3066534cffcd46eb68", size 
= 22229626, upload-time = "2025-12-16T15:45:20.712Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5a/1f/0a4a979bb2bf6e1292cc57882955bf1d7757cad40b1862d524c59c2a2ad8/uv-0.9.18-py3-none-manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:b7295e6d505f1fd61c54b1219e3b18e11907396333a9fa61cefe489c08fc7995", size 
= 20896524, upload-time = "2025-12-16T15:45:06.799Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a5/3c/24f92e56af00cac7d9bed2888d99a580f8093c8745395ccf6213bfccf20b/uv-0.9.18-py3-none-manylinux_2_31_riscv64.whl";,
 hash = 
"sha256:62ea0e518dd4ab76e6f06c0f43a25898a6342a3ecf996c12f27f08eb801ef7f1", size 
= 22077340, upload-time = "2025-12-16T15:44:51.271Z" },
+    { url = 
"https://files.pythonhosted.org/packages/9c/3e/73163116f748800e676bf30cee838448e74ac4cc2f716c750e1705bc3fe4/uv-0.9.18-py3-none-musllinux_1_1_armv7l.whl";,
 hash = 
"sha256:8bd073e30030211ba01206caa57b4d63714e1adee2c76a1678987dd52f72d44d", size 
= 20932956, upload-time = "2025-12-16T15:45:00.3Z" },
+    { url = 
"https://files.pythonhosted.org/packages/59/1b/a26990b51a17de1ffe41fbf2e30de3a98f0e0bce40cc60829fb9d9ed1a8a/uv-0.9.18-py3-none-musllinux_1_1_i686.whl";,
 hash = 
"sha256:f248e013d10e1fc7a41f94310628b4a8130886b6d683c7c85c42b5b36d1bcd02", size 
= 21357247, upload-time = "2025-12-16T15:45:23.575Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5f/20/b6ba14fdd671e9237b22060d7422aba4a34503e3e42d914dbf925eff19aa/uv-0.9.18-py3-none-musllinux_1_1_x86_64.whl";,
 hash = 
"sha256:17bedf2b0791e87d889e1c7f125bd5de77e4b7579aec372fa06ba832e07c957e", size 
= 22443585, upload-time = "2025-12-16T15:44:42.213Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5e/da/1b3dd596964f90a122cfe94dcf5b6b89cf5670eb84434b8c23864382576f/uv-0.9.18-py3-none-win32.whl";,
 hash = 
"sha256:de6f0bb3e9c18e484545bd1549ec3c956968a141a393d42e2efb25281cb62787", size 
= 20091088, upload-time = "2025-12-16T15:45:03.225Z" },
+    { url = 
"https://files.pythonhosted.org/packages/11/0b/50e13ebc1eedb36d88524b7740f78351be33213073e3faf81ac8925d0c6e/uv-0.9.18-py3-none-win_amd64.whl";,
 hash = 
"sha256:c82b0e2e36b33e2146fba5f0ae6906b9679b3b5fe6a712e5d624e45e441e58e9", size 
= 22181193, upload-time = "2025-12-16T15:44:54.394Z" },
+    { url = 
"https://files.pythonhosted.org/packages/8c/d4/0bf338d863a3d9e5545e268d77a8e6afdd75d26bffc939603042f2e739f9/uv-0.9.18-py3-none-win_arm64.whl";,
 hash = 
"sha256:4c4ce0ed080440bbda2377488575d426867f94f5922323af6d4728a1cd4d091d", size 
= 20564933, upload-time = "2025-12-16T15:45:09.819Z" },
 ]
 
 [[package]]
diff --git a/devel-common/pyproject.toml b/devel-common/pyproject.toml
index c0b90b38fa8..c6312d47d8d 100644
--- a/devel-common/pyproject.toml
+++ b/devel-common/pyproject.toml
@@ -35,7 +35,7 @@ dependencies = [
     "kgb>=7.2.0",
     "requests_mock>=1.11.0",
     "rich>=13.6.0",
-    "ruff==0.14.8",
+    "ruff==0.14.10",
     "semver>=3.0.2",
     "typer-slim>=0.15.1",
     # limited due to changes needed 
https://github.com/apache/airflow/issues/58470
diff --git a/pyproject.toml b/pyproject.toml
index 7a0f81426e1..9d82dc5bef6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -534,7 +534,7 @@ packages = []
     "apache-airflow-providers-amazon[s3fs]",
 ]
 "uv" = [
-    "uv>=0.9.16",
+    "uv>=0.9.18",
 ]
 
 [project.urls]
diff --git a/scripts/ci/prek/check_imports_in_providers.py 
b/scripts/ci/prek/check_imports_in_providers.py
index b99d03570a9..fcc83e985ab 100755
--- a/scripts/ci/prek/check_imports_in_providers.py
+++ b/scripts/ci/prek/check_imports_in_providers.py
@@ -19,7 +19,7 @@
 # requires-python = ">=3.10,<3.11"
 # dependencies = [
 #   "rich>=13.6.0",
-#   "ruff==0.14.8",
+#   "ruff==0.14.10",
 # ]
 # ///
 from __future__ import annotations
diff --git a/scripts/ci/prek/ruff_format.py b/scripts/ci/prek/ruff_format.py
index bb04f2e981b..efda40c140e 100755
--- a/scripts/ci/prek/ruff_format.py
+++ b/scripts/ci/prek/ruff_format.py
@@ -18,7 +18,7 @@
 # /// script
 # requires-python = ">=3.10,<3.11"
 # dependencies = [
-#   "ruff==0.14.8",
+#   "ruff==0.14.10",
 # ]
 # ///
 
diff --git a/scripts/tools/setup_breeze b/scripts/tools/setup_breeze
index 34dfda80c2e..548274d2c9c 100755
--- a/scripts/tools/setup_breeze
+++ b/scripts/tools/setup_breeze
@@ -27,7 +27,7 @@ COLOR_YELLOW=$'\e[33m'
 COLOR_BLUE=$'\e[34m'
 COLOR_RESET=$'\e[0m'
 
-UV_VERSION="0.9.16"
+UV_VERSION="0.9.18"
 
 function manual_instructions() {
     echo

Reply via email to