The module importlib.metadata
is part of Python’s standard library (since Python 3.8).
It lets you access metadata about installed packages in your environment — things like a package’s version, entry points, requirements, and other distribution info.
importlib.metadata
from importlib.metadata import version
print(version("numpy"))
# Example output: '1.26.4'
from importlib.metadata import distributions
for dist in distributions():
print(dist.metadata["Name"], dist.version)
from importlib.metadata import metadata
pkg_metadata = metadata("pandas")
print(pkg_metadata["Name"]) # 'pandas'
print(pkg_metadata["Author"]) # 'The Pandas Development Team'
print(pkg_metadata["License"]) # 'BSD'
from importlib.metadata import entry_points
eps = entry_points()
print(eps.select(group="console_scripts")) # Entry points for CLI tools
from importlib.metadata import requires
print(requires("requests"))
# Example: ['charset-normalizer<4,>=2', 'idna<4,>=2.5', ...]
In Python <3.8, importlib.metadata
is not built-in.
You can install it as a backport:
pip install importlib-metadata
Then use:
import importlib_metadata as metadata