public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-typer] rawhide: Update to 0.26.7 upstream release
@ 2026-06-08 19:35 Benjamin A. Beasley
  0 siblings, 0 replies; only message in thread
From: Benjamin A. Beasley @ 2026-06-08 19:35 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/python-typer
            Branch : rawhide
            Commit : 7d2fbb527ae626b58ffd37b12a26a8a6848fa926
            Author : Benjamin A. Beasley <code@musicinmybrain.net>
            Date   : 2026-06-06T09:01:14+00:00
            Stats  : +119/-9 in 5 file(s)
            URL    : https://src.fedoraproject.org/rpms/python-typer/c/7d2fbb527ae626b58ffd37b12a26a8a6848fa926?branch=rawhide

            Log:
            Update to 0.26.7 upstream release

- Resolves: rhbz#2481489

Upstream tag: 0.26.7
Upstream commit: 4e103349

Commit co-authored by Packit automation (https://packit.dev/)

---
diff --git a/.gitignore b/.gitignore
index 6752ad1..21391e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,4 @@
 /typer-0.24.2.tar.gz
 /typer-0.25.0.tar.gz
 /typer-0.25.1.tar.gz
+/typer-0.26.7.tar.gz

diff --git a/README.packit b/README.packit
index af5832b..4e76cbe 100644
--- a/README.packit
+++ b/README.packit
@@ -1,3 +1,3 @@
 This repository is maintained by packit.
 https://packit.dev/
-The file was generated using packit 1.16.0.
+The file was generated using packit 1.16.0.post1.dev8+g8a0482385.

diff --git a/python-typer.spec b/python-typer.spec
index 1aa5c5d..17e2011 100644
--- a/python-typer.spec
+++ b/python-typer.spec
@@ -1,10 +1,13 @@
 Name:           python-typer
-Version:        0.25.1
+Version:        0.26.7
 Release:        %autorelease
 Summary:        Build great CLIs; easy to code; based on Python type hints
 
-# SPDX
-License:        MIT
+# The entire source is MIT, except the forked/vendored copy of Click in
+# typer/_click/, which is BSD-3-Clause. Upstream has declined to adjust the
+# license expression in pyproject.toml, but we carry a downstream patch that
+# does so. See the comments about that patch for more detail.
+License:        MIT AND BSD-3-Clause
 URL:            https://typer.tiangolo.com/
 %global forgeurl https://github.com/fastapi/typer
 Source0:        %{forgeurl}/archive/%{version}/typer-%{version}.tar.gz
@@ -19,6 +22,32 @@ Source11:       typer-utils.1
 #   PYTHONPATH="${PWD}" typer x utils docs --help.
 Source12:       typer-utils-docs.1
 
+# Consider adding Click license text and SPDX identifier to .dist-info metadata
+# https://github.com/fastapi/typer/discussions/1817
+#
+# Upstream declined to make these changes, saying that “We want to be careful
+# not to make any further changes that end up being irreversible, and that
+# could affect or confuse users more downstream.” They hope to eventually
+# reimplement all of the Click-derived, BSD-3-Clause-licensed code from scratch
+# with MIT-licensed code.
+#
+# Because we believe that strictly-accurate metadata is valuable in the
+# packaged library, and these changes accurately reflect the current license
+# status of the package, we choose to carry these changes downstream-only.
+#
+# [PATCH 1/2] Install the license text for Click in `.dist-info`
+#
+# This ensures that the package metadata contains all applicable license texts.
+# The file ends up in `typer-….dist-info/licenses/typer/_click/LICENSE.txt`
+# (vs. `typer-….dist-info/licenses/LICENSE` for the main MIT license text),
+# which is perhaps slightly awkward but accomplishes the goal.
+#
+# [PATCH 2/2] Update the SPDX license expression to include Click’s license
+#
+# Change the license field in the metadata from `MIT` to `MIT AND BSD-3-Clause`
+# to reflect the presence of code under the latter license in `typer/_click/`.
+Patch:          typer-0.26.5-click-license.patch
+
 BuildSystem:    pyproject
 BuildOption(install): --assert-license typer
 
@@ -30,7 +59,7 @@ BuildArch:      noarch
 # we just list the few test dependencies we *do* want manually rather than
 # trying to patch pyproject.toml. We preserve upstream’s lower bounds but
 # remove upper bounds, as we must try to make do with what we have.
-BuildRequires:  %{py3_dist pytest} >= 4.4
+BuildRequires:  %{py3_dist pytest} >= 9
 BuildRequires:  %{py3_dist pytest-xdist} >= 1.32
 
 %global common_description %{expand:
@@ -43,6 +72,20 @@ developers will love creating. Based on Python type hints.}
 %package -n     python3-typer
 Summary:        %{summary}
 
+# Since version 0.26.0, Typer vendors Click. This is an intentional and
+# permanent upstream decision, and upstream plans to diverge from Click
+# upstream, removing unused code and more tightly integrating the vendored
+# implementation with the rest of Typer. There is therefore no prospect of
+# returning to using an external copy of Click or for unbundling downstream.
+# See [1] for a summary of the decision and its rationale and consequences, [2]
+# for a fuller rationale, and [3] for documentation that Click 8.3.1 was the
+# basis for the vendored copy.
+#
+# [1] https://github.com/fastapi/typer/blob/0.26.0/docs/release-notes.md#breaking-changes
+# [2] https://typer.tiangolo.com/tutorial/click
+# [3] https://github.com/fastapi/typer/pull/1774
+Provides:       bundled(python3dist(click)) = 8.3.1
+
 %if %{defined fc44} || %{defined fc45} || %{defined fc46}
 Obsoletes:      python3-typer-slim < 0.23.0-1
 Obsoletes:      python3-typer-slim+standard < 0.23.0-1
@@ -96,9 +139,9 @@ export _TYPER_RUN_INSTALL_COMPLETION_TESTS=1
 # These cannot find the typer package because the tests override PYTHONPATH.
 ignore="${ignore-} --ignore=tests/test_tutorial/test_subcommands/test_tutorial001.py"
 ignore="${ignore-} --ignore=tests/test_tutorial/test_subcommands/test_tutorial003.py"
-# This fails in mock but not in a git checkout. We have not found it worth
-# investigating, but help is welcome.
-ignore="${ignore-} --ignore=tests/test_tutorial/test_printing/test_tutorial004.py"
+# This suffers from some combination of Python path issues in our test
+# environment. It’s not worth going to great lengths to make it work.
+k="${k-}${k+ and }not test_binary_stderr"
 
 mkdir _stub
 cat > _stub/coverage.py <<'EOF'

diff --git a/sources b/sources
index fbac908..c24bb7d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (typer-0.25.1.tar.gz) = f8b5889be3ca9161507b465bb629fa38b4f10878b2be055d2f34bfdddb88017d409cc7420f4a44f85452b9437614109deade4ce2814dabd221ba2e23e16707de
+SHA512 (typer-0.26.7.tar.gz) = dbd081dd3a6042d1fce6a5de11a244657dc385452d5712c9e47195647dd3883861d967162205f27966f48a2601a5b1340190081842ae355d392bec6fa6ffbd37

diff --git a/typer-0.26.5-click-license.patch b/typer-0.26.5-click-license.patch
new file mode 100644
index 0000000..ab0da30
--- /dev/null
+++ b/typer-0.26.5-click-license.patch
@@ -0,0 +1,66 @@
+From effd6be08a012e5d95d37e07a3de56aba7e6f5bd Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Mon, 1 Jun 2026 22:33:43 +0100
+Subject: [PATCH 1/2] Install the license text for Click in `.dist-info`
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This ensures that the package metadata contains all applicable license
+texts. The file ends up in
+`typer-….dist-info/licenses/typer/_click/LICENSE.txt` (vs.
+`typer-….dist-info/licenses/LICENSE` for the main MIT license text),
+which is perhaps slightly awkward but accomplishes the goal.
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index ad636bb..ee7db66 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -5,7 +5,7 @@ build-backend = "pdm.backend"
+ [project]
+ name = "typer"
+ license = "MIT"
+-license-files = ["LICENSE"]
++license-files = ["LICENSE", "typer/_click/LICENSE.txt"]
+ dynamic = ["version"]
+ description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
+ authors = [
+-- 
+2.54.0
+
+
+From ad2a39529f6549c73f54772d71f7bb801fb25160 Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Mon, 1 Jun 2026 22:36:14 +0100
+Subject: [PATCH 2/2] =?UTF-8?q?Update=20the=20SPDX=20license=20expression?=
+ =?UTF-8?q?=20to=20include=20Click=E2=80=99s=20license?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change the license field in the metadata from `MIT` to `MIT AND
+BSD-3-Clause` to reflect the presence of code under the latter license
+in `typer/_click/`.
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index ee7db66..37b8a97 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -4,7 +4,7 @@ build-backend = "pdm.backend"
+ 
+ [project]
+ name = "typer"
+-license = "MIT"
++license = "MIT AND BSD-3-Clause"
+ license-files = ["LICENSE", "typer/_click/LICENSE.txt"]
+ dynamic = ["version"]
+ description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
+-- 
+2.54.0
+

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-08 19:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-08 19:35 [rpms/python-typer] rawhide: Update to 0.26.7 upstream release Benjamin A. Beasley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox