This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-1-test by this push:
new c2b58bd3c5a CI: Upgrade important CI environment (#59620)
c2b58bd3c5a is described below
commit c2b58bd3c5a459bffdb274df3b3b42f7ee6e49aa
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu Dec 18 23:59:22 2025 +0100
CI: Upgrade important CI environment (#59620)
---
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 2 +-
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.pre-commit-config.yaml | 2 +-
Dockerfile | 2 +-
Dockerfile.ci | 2 +-
airflow-core/docs/best-practices.rst | 2 +-
dev/breeze/doc/ci/02_images.md | 2 +-
.../commands/release_management_commands.py | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
dev/breeze/uv.lock | 86 +++++++++++-----------
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, 59 insertions(+), 59 deletions(-)
diff --git a/.github/actions/breeze/action.yml
b/.github/actions/breeze/action.yml
index a63a9f97922..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.17" # 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 e8f9b6e8868..88a94a0c37b 100644
--- a/.github/actions/install-prek/action.yml
+++ b/.github/actions/install-prek/action.yml
@@ -24,7 +24,7 @@ inputs:
default: "3.10"
uv-version:
description: 'uv version to use'
- default: "0.9.17" # 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.22" # Keep this comment to allow automatic replacement of
prek version
diff --git a/.github/workflows/basic-tests.yml
b/.github/workflows/basic-tests.yml
index 9cc4c1b7abc..eea33954a33 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.17" # 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 0acc4dc4b77..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.17" # 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 4177c5ef68e..16c9d69d7d3 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -362,7 +362,7 @@ repos:
types_or: [python, pyi]
args: [--fix]
require_serial: true
- additional_dependencies: ['ruff==0.14.9']
+ 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 b/Dockerfile
index 45226ebf96e..1c759a6338e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -56,7 +56,7 @@ ARG AIRFLOW_PYTHON_VERSION="3.12.12"
# Also use `force pip` label on your PR to swap all places we use `uv` to `pip`
ARG AIRFLOW_PIP_VERSION=25.3
# ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main"
-ARG AIRFLOW_UV_VERSION=0.9.17
+ARG AIRFLOW_UV_VERSION=0.9.18
ARG AIRFLOW_USE_UV="false"
ARG UV_HTTP_TIMEOUT="300"
ARG AIRFLOW_IMAGE_REPOSITORY="https://github.com/apache/airflow"
diff --git a/Dockerfile.ci b/Dockerfile.ci
index 867f27a9a1b..ff8aad6c672 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -1699,7 +1699,7 @@ COPY --from=scripts common.sh install_packaging_tools.sh
install_additional_depe
# Also use `force pip` label on your PR to swap all places we use `uv` to `pip`
ARG AIRFLOW_PIP_VERSION=25.3
# ARG AIRFLOW_PIP_VERSION="git+https://github.com/pypa/pip.git@main"
-ARG AIRFLOW_UV_VERSION=0.9.17
+ARG AIRFLOW_UV_VERSION=0.9.18
ARG AIRFLOW_PREK_VERSION="0.2.22"
# UV_LINK_MODE=copy is needed since we are using cache mounted from the host
diff --git a/airflow-core/docs/best-practices.rst
b/airflow-core/docs/best-practices.rst
index f46c231ee52..b7f2b69f3c1 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.9"
+ 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 d4712ce4066..571676052fb 100644
--- a/dev/breeze/doc/ci/02_images.md
+++ b/dev/breeze/doc/ci/02_images.md
@@ -443,7 +443,7 @@ 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.17` | `uv`
version used.
|
+| `AIRFLOW_UV_VERSION` | `0.9.18` | `uv`
version used.
|
| `AIRFLOW_PREK_VERSION` | `0.2.22` | `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/src/airflow_breeze/commands/release_management_commands.py
b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index c2d9764e766..ec7439321d4 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -254,7 +254,7 @@ class VersionedFile(NamedTuple):
AIRFLOW_PIP_VERSION = "25.3"
-AIRFLOW_UV_VERSION = "0.9.17"
+AIRFLOW_UV_VERSION = "0.9.18"
AIRFLOW_USE_UV = False
GITPYTHON_VERSION = "3.1.45"
RICH_VERSION = "14.2.0"
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py
b/dev/breeze/src/airflow_breeze/global_constants.py
index 520c0e31865..d76136d448c 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -213,7 +213,7 @@ if MYSQL_INNOVATION_RELEASE:
ALLOWED_INSTALL_MYSQL_CLIENT_TYPES = ["mariadb", "mysql"]
PIP_VERSION = "25.3"
-UV_VERSION = "0.9.17"
+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 4a2a211d425..71bd33766af 100644
--- a/dev/breeze/uv.lock
+++ b/dev/breeze/uv.lock
@@ -260,39 +260,39 @@ wheels = [
[[package]]
name = "boto3"
-version = "1.42.9"
+version = "1.42.13"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "botocore" },
{ name = "jmespath" },
{ name = "s3transfer" },
]
-sdist = { url =
"https://files.pythonhosted.org/packages/8c/07/dfa651dbd57bfc34d952a101280928bab08ed6186f009c660a36c211ccff/boto3-1.42.9.tar.gz",
hash =
"sha256:cdd4cc3e5bb08ed8a0c5cc77eca78f98f0239521de0991f14e44b788b0c639b2", size
= 112827, upload-time = "2025-12-12T20:33:20.236Z" }
+sdist = { url =
"https://files.pythonhosted.org/packages/15/1f/321d9cd80dac5abbebfe89b96008f7ebeff3987196a0a83f3c8fc09a25a4/boto3-1.42.13.tar.gz",
hash =
"sha256:4c9a62dcb5c3f905630fe99fb4b81131da84c5c92eedcc81a89cbd924c1c524f", size
= 112826, upload-time = "2025-12-18T20:28:54.766Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/7b/eb/97fdf6fbc8066fb1475b8ef260c1a58798b2b4f1e8839b501550de5d5ba1/boto3-1.42.9-py3-none-any.whl",
hash =
"sha256:d21d22af9aeb1bad8e9b670a221d6534c0120f7e7baf523dafaca83f1f5c3f90", size
= 140561, upload-time = "2025-12-12T20:33:18.035Z" },
+ { url =
"https://files.pythonhosted.org/packages/9e/a8/51fb7b8078864f673169456ce16eecd2abd9d40010a65c6fa910b41c0088/boto3-1.42.13-py3-none-any.whl",
hash =
"sha256:9d6aad3fa8b90567006bf7b32efa26489fc306fbe63946eaf57b72356a45761d", size
= 140574, upload-time = "2025-12-18T20:28:53.33Z" },
]
[[package]]
name = "botocore"
-version = "1.42.9"
+version = "1.42.13"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "jmespath" },
{ name = "python-dateutil" },
{ name = "urllib3" },
]
-sdist = { url =
"https://files.pythonhosted.org/packages/fd/f3/2d2cfb500e2dc00b0e33e3c8743306e6330f3cf219d19e9260dab2f3d6c2/botocore-1.42.9.tar.gz",
hash =
"sha256:74f69bfd116cc7c8215481284957eecdb48580e071dd50cb8c64356a866abd8c", size
= 14861916, upload-time = "2025-12-12T20:33:08.017Z" }
+sdist = { url =
"https://files.pythonhosted.org/packages/d3/28/c4cc2c697227752535488527ca057a1c41fbe32d0a81f15b25a7c738bc75/botocore-1.42.13.tar.gz",
hash =
"sha256:7e4cf14bd5719b60600fb45d2bb3ae140feb3c182a863b93093aafce7f93cfee", size
= 14885136, upload-time = "2025-12-18T20:28:44.722Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/1f/2a/e9275f40042f7a09915c4be86b092cb02dc4bd74e77ab8864f485d998af1/botocore-1.42.9-py3-none-any.whl",
hash =
"sha256:f99ba2ca34e24c4ebec150376c815646970753c032eb84f230874b2975a185a8", size
= 14537810, upload-time = "2025-12-12T20:33:04.069Z" },
+ { url =
"https://files.pythonhosted.org/packages/b1/52/b4235bd6cd9b86fa73be92bad1039fd533b666921c32d0d94ffdb220a871/botocore-1.42.13-py3-none-any.whl",
hash =
"sha256:b750b2de4a2478db9718a02395cb9da8698901ba02378d60037d6369ecb6bb88", size
= 14558402, upload-time = "2025-12-18T20:28:40.532Z" },
]
[[package]]
name = "cachetools"
-version = "6.2.3"
+version = "6.2.4"
source = { registry = "https://pypi.org/simple" }
-sdist = { url =
"https://files.pythonhosted.org/packages/b5/44/5dc354b9f2df614673c2a542a630ef95d578b4a8673a1046d1137a7e2453/cachetools-6.2.3.tar.gz",
hash =
"sha256:64e0a4ddf275041dd01f5b873efa87c91ea49022b844b8c5d1ad3407c0f42f1f", size
= 31641, upload-time = "2025-12-12T21:18:06.011Z" }
+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/ab/de/aa4cfc69feb5b3d604310214369979bb222ed0df0e2575a1b6e7af1a5579/cachetools-6.2.3-py3-none-any.whl",
hash =
"sha256:3fde34f7033979efb1e79b07ae529c2c40808bdd23b0b731405a48439254fba5", size
= 11554, upload-time = "2025-12-12T21:18:04.556Z" },
+ { 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]]
@@ -572,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]]
@@ -602,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]]
@@ -706,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]]
@@ -1259,14 +1259,14 @@ wheels = [
[[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]]
@@ -2037,28 +2037,28 @@ wheels = [
[[package]]
name = "uv"
-version = "0.9.17"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url =
"https://files.pythonhosted.org/packages/52/1a/cb0c37ae8513b253bcbc13d42392feb7d95ea696eb398b37535a28df9040/uv-0.9.17.tar.gz",
hash =
"sha256:6d93ab9012673e82039cfa7f9f66f69b388bc3f910f9e8a2ebee211353f620aa", size
= 3815957, upload-time = "2025-12-09T23:01:21.756Z" }
-wheels = [
- { url =
"https://files.pythonhosted.org/packages/2b/e2/b6e2d473bdc37f4d86307151b53c0776e9925de7376ce297e92eab2e8894/uv-0.9.17-py3-none-linux_armv6l.whl",
hash =
"sha256:c708e6560ae5bc3cda1ba93f0094148ce773b6764240ced433acf88879e57a67", size
= 21254511, upload-time = "2025-12-09T23:00:36.604Z" },
- { url =
"https://files.pythonhosted.org/packages/d5/40/75f1529a8bf33cc5c885048e64a014c3096db5ac7826c71e20f2b731b588/uv-0.9.17-py3-none-macosx_10_12_x86_64.whl",
hash =
"sha256:233b3d90f104c59d602abf434898057876b87f64df67a37129877d6dab6e5e10", size
= 20384366, upload-time = "2025-12-09T23:01:17.293Z" },
- { url =
"https://files.pythonhosted.org/packages/de/30/b3a343893681a569cbb74f8747a1c24e5f18ca9e07de0430aceaf9389ef4/uv-0.9.17-py3-none-macosx_11_0_arm64.whl",
hash =
"sha256:4b8e5513d48a267bfa180ca7fefaf6f27b1267e191573b3dba059981143e88ef", size
= 18924624, upload-time = "2025-12-09T23:01:10.291Z" },
- { url =
"https://files.pythonhosted.org/packages/21/56/9daf8bbe4a9a36eb0b9257cf5e1e20f9433d0ce996778ccf1929cbe071a4/uv-0.9.17-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl",
hash =
"sha256:8f283488bbcf19754910cc1ae7349c567918d6367c596e5a75d4751e0080eee0", size
= 20671687, upload-time = "2025-12-09T23:00:51.927Z" },
- { url =
"https://files.pythonhosted.org/packages/9f/c8/4050ff7dc692770092042fcef57223b8852662544f5981a7f6cac8fc488d/uv-0.9.17-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:9cf8052ba669dc17bdba75dae655094d820f4044990ea95c01ec9688c182f1da", size
= 20861866, upload-time = "2025-12-09T23:01:12.555Z" },
- { url =
"https://files.pythonhosted.org/packages/84/d4/208e62b7db7a65cb3390a11604c59937e387d07ed9f8b63b54edb55e2292/uv-0.9.17-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl",
hash =
"sha256:06749461b11175a884be193120044e7f632a55e2624d9203398808907d346aad", size
= 21858420, upload-time = "2025-12-09T23:01:00.009Z" },
- { url =
"https://files.pythonhosted.org/packages/86/2c/91288cd5a04db37dfc1e0dad26ead84787db5832d9836b4cc8e0fa7f3c53/uv-0.9.17-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
hash =
"sha256:35eb1a519688209160e48e1bb8032d36d285948a13b4dd21afe7ec36dc2a9787", size
= 23471658, upload-time = "2025-12-09T23:00:49.503Z" },
- { url =
"https://files.pythonhosted.org/packages/44/ba/493eba650ffad1df9e04fd8eabfc2d0aebc23e8f378acaaee9d95ca43518/uv-0.9.17-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:2bfb60a533e82690ab17dfe619ff7f294d053415645800d38d13062170230714", size
= 23062950, upload-time = "2025-12-09T23:00:39.055Z" },
- { url =
"https://files.pythonhosted.org/packages/9a/9e/f7f679503c06843ba59451e3193f35fb7c782ff0afc697020d4718a7de46/uv-0.9.17-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:cd0f3e380ff148aff3d769e95a9743cb29c7f040d7ef2896cafe8063279a6bc1", size
= 22080299, upload-time = "2025-12-09T23:00:44.026Z" },
- { url =
"https://files.pythonhosted.org/packages/32/2e/76ba33c7d9efe9f17480db1b94d3393025062005e346bb8b3660554526da/uv-0.9.17-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:cd2c3d25fbd8f91b30d0fac69a13b8e2c2cd8e606d7e6e924c1423e4ff84e616", size
= 22087554, upload-time = "2025-12-09T23:00:41.715Z" },
- { url =
"https://files.pythonhosted.org/packages/14/db/ef4aae4a6c49076db2acd2a7b0278ddf3dbf785d5172b3165018b96ba2fb/uv-0.9.17-py3-none-manylinux_2_28_aarch64.whl",
hash =
"sha256:330e7085857e4205c5196a417aca81cfbfa936a97dd2a0871f6560a88424ebf2", size
= 20823225, upload-time = "2025-12-09T23:00:57.041Z" },
- { url =
"https://files.pythonhosted.org/packages/11/73/e0f816cacd802a1cb25e71de9d60e57fa1f6c659eb5599cef708668618cc/uv-0.9.17-py3-none-manylinux_2_31_riscv64.whl",
hash =
"sha256:45880faa9f6cf91e3cda4e5f947da6a1004238fdc0ed4ebc18783a12ce197312", size
= 22004893, upload-time = "2025-12-09T23:01:15.011Z" },
- { url =
"https://files.pythonhosted.org/packages/15/6b/700f6256ee191136eb06e40d16970a4fc687efdccf5e67c553a258063019/uv-0.9.17-py3-none-musllinux_1_1_armv7l.whl",
hash =
"sha256:8e775a1b94c6f248e22f0ce2f86ed37c24e10ae31fb98b7e1b9f9a3189d25991", size
= 20853850, upload-time = "2025-12-09T23:01:02.694Z" },
- { url =
"https://files.pythonhosted.org/packages/bc/6a/13f02e2ed6510223c40f74804586b09e5151d9319f93aab1e49d91db13bb/uv-0.9.17-py3-none-musllinux_1_1_i686.whl",
hash =
"sha256:8650c894401ec96488a6fd84a5b4675e09be102f5525c902a12ba1c8ef8ff230", size
= 21322623, upload-time = "2025-12-09T23:00:46.806Z" },
- { url =
"https://files.pythonhosted.org/packages/d0/18/2d19780cebfbec877ea645463410c17859f8070f79c1a34568b153d78e1d/uv-0.9.17-py3-none-musllinux_1_1_x86_64.whl",
hash =
"sha256:673066b72d8b6c86be0dae6d5f73926bcee8e4810f1690d7b8ce5429d919cde3", size
= 22290123, upload-time = "2025-12-09T23:00:54.394Z" },
- { url =
"https://files.pythonhosted.org/packages/77/69/ab79bde3f7b6d2ac89f839ea40411a9cf3e67abede2278806305b6ba797e/uv-0.9.17-py3-none-win32.whl",
hash =
"sha256:7407d45afeae12399de048f7c8c2256546899c94bd7892dbddfae6766616f5a3", size
= 20070709, upload-time = "2025-12-09T23:01:05.105Z" },
- { url =
"https://files.pythonhosted.org/packages/08/a0/ab5b1850197bf407d095361b214352e40805441791fed35b891621cb1562/uv-0.9.17-py3-none-win_amd64.whl",
hash =
"sha256:22fcc26755abebdf366becc529b2872a831ce8bb14b36b6a80d443a1d7f84d3b", size
= 22122852, upload-time = "2025-12-09T23:01:07.783Z" },
- { url =
"https://files.pythonhosted.org/packages/37/ef/813cfedda3c8e49d8b59a41c14fcc652174facfd7a1caf9fee162b40ccbd/uv-0.9.17-py3-none-win_arm64.whl",
hash =
"sha256:6761076b27a763d0ede2f5e72455d2a46968ff334badf8312bb35988c5254831", size
= 20435751, upload-time = "2025-12-09T23:01:19.732Z" },
+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 a227b3042c6..0b3b1ab787c 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.9",
+ "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 56efde41953..a3e6e417490 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -533,7 +533,7 @@ packages = []
"apache-airflow-providers-amazon[s3fs]",
]
"uv" = [
- "uv>=0.9.17",
+ "uv>=0.9.18",
]
diff --git a/scripts/ci/prek/check_imports_in_providers.py
b/scripts/ci/prek/check_imports_in_providers.py
index 9ffff85537c..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.9",
+# "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 10d3d847e97..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.9",
+# "ruff==0.14.10",
# ]
# ///
diff --git a/scripts/tools/setup_breeze b/scripts/tools/setup_breeze
index 6ca231985db..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.17"
+UV_VERSION="0.9.18"
function manual_instructions() {
echo