This is an automated email from the ASF dual-hosted git repository.
vatsrahul1001 pushed a commit to branch v3-2-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-2-test by this push:
new bd1769af72b [v3-2-test] Replace deprecated typer-slim with typer in
devel-common (#67034) (#67037)
bd1769af72b is described below
commit bd1769af72b274778e26d740a54969996b894de9
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon May 18 15:05:26 2026 +0530
[v3-2-test] Replace deprecated typer-slim with typer in devel-common
(#67034) (#67037)
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.
(cherry picked from commit 4e82672b4dae5d62c2e2c82f613a8676b2f8be4c)
Co-authored-by: Jarek Potiuk <[email protected]>
---
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 4d8715a381f..56d51fc7236 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 1c88f63598a..c34ddd6cc71 100644
--- a/uv.lock
+++ b/uv.lock
@@ -2159,7 +2159,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" },
@@ -2521,7 +2521,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" },
@@ -21639,18 +21639,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"