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

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 4e82672b4da Replace deprecated typer-slim with typer in devel-common 
(#67034)
4e82672b4da is described below

commit 4e82672b4dae5d62c2e2c82f613a8676b2f8be4c
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat May 16 16:31:16 2026 +0200

    Replace deprecated typer-slim with typer in devel-common (#67034)
    
    devel-common previously pinned `typer-slim>=0.15.1`. Under
    `uv --resolution lowest-direct`, this resolved to typer-slim==0.15.1 — the
    OLD standalone slim package that ships its own `typer/` module. 
`fastapi-cli`
    transitively pulled typer==0.24.2, so both packages wrote to the same
    `typer/` site-packages directory and produced a corrupted install. `import
    fastapi_cli.cli` then raised ImportError, and the 23
    `mock.patch("fastapi_cli.cli._run")` calls in
    `airflow-core/tests/unit/cli/commands/test_api_server_command.py` surfaced
    this as `AttributeError: module 'fastapi_cli' has no attribute 'cli'` from
    `pkgutil.resolve_name`.
    
    typer-slim 0.22.0+ is a deprecated meta-package that just depends on typer,
    and upstream explicitly warns against installing it. Switch to typer
    directly (>=0.22.0) so nothing in the dep graph can reintroduce a pre-0.22
    slim typer-slim, and the full typer cleanly owns the `typer/` namespace.
---
 devel-common/pyproject.toml |  2 +-
 uv.lock                     | 16 ++--------------
 2 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/devel-common/pyproject.toml b/devel-common/pyproject.toml
index 52b61c7cf7e..19cf5350026 100644
--- a/devel-common/pyproject.toml
+++ b/devel-common/pyproject.toml
@@ -37,7 +37,7 @@ dependencies = [
     "rich>=13.6.0",
     "ruff==0.15.12",
     "semver>=3.0.2",
-    "typer-slim>=0.15.1",
+    "typer>=0.22.0",
     "time-machine[dateutil]>=3.0.0",
     "wheel>=0.42.0",
     "yamllint>=1.33.0",
diff --git a/uv.lock b/uv.lock
index e43344bf369..4e5e7a6f79f 100644
--- a/uv.lock
+++ b/uv.lock
@@ -2205,7 +2205,7 @@ dependencies = [
     { name = "sqlalchemy", extra = ["asyncio"] },
     { name = "sqlalchemy-utils" },
     { name = "time-machine", extra = ["dateutil"] },
-    { name = "typer-slim" },
+    { name = "typer" },
     { name = "types-aiofiles" },
     { name = "types-cachetools" },
     { name = "types-certifi" },
@@ -2567,7 +2567,7 @@ requires-dist = [
     { name = "time-machine", extras = ["dateutil"], specifier = ">=3.0.0" },
     { name = "towncrier", marker = "extra == 'devscripts'", specifier = 
">=23.11.0" },
     { name = "twine", marker = "extra == 'devscripts'", specifier = ">=4.0.2" 
},
-    { name = "typer-slim", specifier = ">=0.15.1" },
+    { name = "typer", specifier = ">=0.22.0" },
     { name = "types-aiofiles", marker = "extra == 'mypy'", specifier = 
">=23.2.0.20240403" },
     { name = "types-cachetools", marker = "extra == 'mypy'", specifier = 
">=6.2.0.20251022" },
     { name = "types-certifi", marker = "extra == 'mypy'", specifier = 
">=2021.10.8.3" },
@@ -21894,18 +21894,6 @@ wheels = [
     { url = 
"https://files.pythonhosted.org/packages/3f/f9/2b3ff4e56e5fa7debfaf9eb135d0da96f3e9a1d5b27222223c7296336e5f/typer-0.25.1-py3-none-any.whl";,
 hash = 
"sha256:75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89", size 
= 58409, upload-time = "2026-04-30T19:32:18.271Z" },
 ]
 
-[[package]]
-name = "typer-slim"
-version = "0.24.0"
-source = { registry = "https://pypi.org/simple"; }
-dependencies = [
-    { name = "typer" },
-]
-sdist = { url = 
"https://files.pythonhosted.org/packages/a7/a7/e6aecc4b4eb59598829a3b5076a93aff291b4fdaa2ded25efc4e1f4d219c/typer_slim-0.24.0.tar.gz";,
 hash = 
"sha256:f0ed36127183f52ae6ced2ecb2521789995992c521a46083bfcdbb652d22ad34", size 
= 4776, upload-time = "2026-02-16T22:08:51.2Z" }
-wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/a7/24/5480c20380dfd18cf33d14784096dca45a24eae6102e91d49a718d3b6855/typer_slim-0.24.0-py3-none-any.whl";,
 hash = 
"sha256:d5d7ee1ee2834d5020c7c616ed5e0d0f29b9a4b1dd283bdebae198ec09778d0e", size 
= 3394, upload-time = "2026-02-16T22:08:49.92Z" },
-]
-
 [[package]]
 name = "types-aiofiles"
 version = "25.1.0.20260508"

Reply via email to