Source code for playnano.utils.system_info
"""Module containing helper functions for collecting system info."""
import importlib.metadata
import platform
import sys
from playnano.utils.time_utils import utc_now_iso
KEY_DEPENDENCIES = [
"numpy",
"h5py",
"scipy",
"scikit-learn",
"scikit-image",
"pandas",
"Pillow",
"matplotlib",
"afmreader",
]
[docs]
def gather_environment_info() -> dict:
"""Gather the system info for provenance records."""
info = {
"timestamp": utc_now_iso(),
"python_version": sys.version.replace("\n", " "),
"platform": f"{platform.system()}-{platform.release()}-{platform.machine()}",
}
try:
info["playnano_version"] = importlib.metadata.version("playnano")
except importlib.metadata.PackageNotFoundError:
info["playnano_version"] = None
for pkg in KEY_DEPENDENCIES:
try:
info[f"{pkg}_version"] = importlib.metadata.version(pkg)
except importlib.metadata.PackageNotFoundError:
pass
return info