]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-140141: Properly break exception chain in `importlib.metadata.Distribution.from_na...
authorBartosz Sławecki <bartosz@ilikepython.com>
Wed, 15 Oct 2025 16:49:14 +0000 (18:49 +0200)
committerGitHub <noreply@github.com>
Wed, 15 Oct 2025 16:49:14 +0000 (12:49 -0400)
Lib/importlib/metadata/__init__.py
Misc/NEWS.d/next/Library/2025-10-15-17-23-51.gh-issue-140141.j2mUDB.rst [new file with mode: 0644]

index 1e2cea4009482a59891ef46bd677c13c7aa4da63..b010bb8525e5ccf6ecea4fc75044a97a514b0471 100644 (file)
@@ -457,7 +457,7 @@ class Distribution(metaclass=abc.ABCMeta):
         try:
             return next(iter(cls._prefer_valid(cls.discover(name=name))))
         except StopIteration:
-            raise PackageNotFoundError(name)
+            raise PackageNotFoundError(name) from None
 
     @classmethod
     def discover(
diff --git a/Misc/NEWS.d/next/Library/2025-10-15-17-23-51.gh-issue-140141.j2mUDB.rst b/Misc/NEWS.d/next/Library/2025-10-15-17-23-51.gh-issue-140141.j2mUDB.rst
new file mode 100644 (file)
index 0000000..2edadbc
--- /dev/null
@@ -0,0 +1,5 @@
+The :py:class:`importlib.metadata.PackageNotFoundError` traceback raised when
+``importlib.metadata.Distribution.from_name`` cannot discover a
+distribution no longer includes a transient :exc:`StopIteration` exception trace.
+
+Contributed by Bartosz Sławecki in :gh:`140142`.