https://github.com/python/cpython/commit/192796cfd4793cd7c9e88261795394ab016d5984
commit: 192796cfd4793cd7c9e88261795394ab016d5984
branch: main
author: Jason R. Coombs <[email protected]>
committer: jaraco <[email protected]>
date: 2026-05-19T12:38:27-07:00
summary:

gh-143387: Update docs to reflect the behavior and note the changed version. 
(#150095)

files:
M Doc/library/importlib.metadata.rst

diff --git a/Doc/library/importlib.metadata.rst 
b/Doc/library/importlib.metadata.rst
index 63de4f91f4ba5f..e11db37b9fad50 100644
--- a/Doc/library/importlib.metadata.rst
+++ b/Doc/library/importlib.metadata.rst
@@ -105,6 +105,13 @@ You can also get a :ref:`distribution's version number 
<version>`, list its
    current Python environment.
 
 
+.. exception:: MetadataNotFound
+
+   Subclass of :class:`FileNotFoundError` raised when attempting to load 
metadata
+   from a distribution folder that is empty or otherwise does not contain a
+   metadata file.
+
+
 Functional API
 ==============
 
@@ -224,6 +231,9 @@ Distribution metadata
    Raises :exc:`PackageNotFoundError` if the named distribution
    package is not installed in the current Python environment.
 
+   Raises :exc:`MetadataNotFound` if a distribution package is
+   present but no METADATA file is present.
+
 .. class:: PackageMetadata
 
    A concrete implementation of the
@@ -252,6 +262,12 @@ all the metadata in a JSON-compatible form per :PEP:`566`::
 The full set of available metadata is not described here.
 See the PyPA `Core metadata specification 
<https://packaging.python.org/en/latest/specifications/core-metadata/#core-metadata>`_
 for additional details.
 
+.. versionchanged:: 3.15
+   Previously and incidentally, if a METADATA file was missing from a 
distribution, an
+   empty ``PackageMetadata`` would be returned, indistinguishable from
+   an empty METADATA file. Now, a missing METADATA file triggers a
+   ``MetadataNotFound`` exception.
+
 .. versionchanged:: 3.10
    The ``Description`` is now included in the metadata when presented
    through the payload. Line continuation characters have been removed.
@@ -465,6 +481,9 @@ The same applies for :func:`entry_points` and :func:`files`.
    .. attribute:: metadata
       :type: PackageMetadata
 
+      Raises :exc:`MetadataNotFound` if the METADATA file is not present in
+      the distribution.
+
       There are all kinds of additional metadata available on 
:class:`!Distribution`
       instances as a :class:`PackageMetadata` instance::
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to