Description
The version()
function of the importlib.metadata
package returns an arbitrary version number when called with None
. There's no documentation on what the return value means.
I would have expected one of the following instead:
- raise an error saying that the
distribution_name
parameter cannot beNone
, or - explain what the return value means in the relevant documentation.
The current behaviour is confusing as one could think, for example, that the return value is the version of the project/package they call it from.
>>> import sys
>>> print(sys.version)
3.10.0 (tags/v3.10.0:b494f59, Oct 4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)]
>>> import importlib.metadata
>>> importlib.metadata.version(None)
'21.2.3'
I looks like the return value is the version of an arbitrary package installed in the Python virtual environment. Calling the function repeatedly seems to give the same value, but installing a new package can cause the return value to change.
System information
- CPython versions tested on: 3.10.0
- Operating system and architecture: Windows 10 Enterprise (64-bit operating system, x64-based processor)