Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions Doc/library/importlib.metadata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
==============

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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::

Expand Down
Loading