Source code for lsdb.io.show_versions
import importlib
import os
import platform
import struct
import sys
def _get_sys_info() -> dict[str, str]:
uname_result = platform.uname()
return {
"python": platform.python_version(),
"python-bits": str(struct.calcsize("P") * 8),
"OS": uname_result.system,
"OS-release": uname_result.release,
"Version": uname_result.version,
"machine": uname_result.machine,
"processor": uname_result.processor,
"byteorder": sys.byteorder,
"LC_ALL": os.environ.get("LC_ALL") or "",
"LANG": os.environ.get("LANG") or "",
}
def _get_dependency_info() -> dict[str, str]:
deps = [
"lsdb",
"hats",
"nested-pandas",
"pandas",
"numpy",
"dask",
"pyarrow",
"fsspec",
]
result: dict[str, str] = {}
for modname in deps:
try:
result[modname] = importlib.metadata.version(modname)
except Exception: # pylint: disable=broad-exception-caught # pragma: no cover
result[modname] = "N/A"
return result
[docs]
def show_versions():
"""Print runtime versions and system info, useful for bug reports."""
sys_info = _get_sys_info()
deps = _get_dependency_info()
maxlen = max(len(x) for x in deps) + 1
print("\n-------- SYSTEM INFO --------")
for k, v in sys_info.items():
print(f"{k:<{maxlen}}: {v}")
print("-------- INSTALLED VERSIONS --------")
for k, v in deps.items():
print(f"{k:<{maxlen}}: {v}")