Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create show_versions.py #9144

Merged
merged 5 commits into from Jun 24, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
42 changes: 42 additions & 0 deletions dask/utils.py
Expand Up @@ -1945,3 +1945,45 @@ def cached_cumsum(seq, initial_zero=False):
# Construct a temporary tuple, and look up by value.
result = _cumsum(tuple(seq), initial_zero)
return result


def show_versions() -> None:
"""Provide version information for bug reports."""

from importlib.metadata import PackageNotFoundError, version
from json import dumps
from platform import uname
from sys import stdout, version_info

from distributed import __version__ as distributed_version

from dask import __version__ as dask_version

deps = [
"numpy",
"pandas",
"cloudpickle",
"fsspec",
"bokeh",
"fastparquet",
"pyarrow",
"zarr",
]

result: dict[str, str | None] = {
# note: only major, minor, micro are extracted
"Python": ".".join([str(i) for i in version_info[:3]]),
"Platform": uname().system,
"dask": dask_version,
"distributed": distributed_version,
}

for modname in deps:
try:
result[modname] = version(modname)
except PackageNotFoundError:
result[modname] = None

stdout.writelines(dumps(result, indent=2))

return