51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
# https://github.com/huggingface/huggingface_hub/blob/5a12851f54bf614be39614034ed3a9031922d297/src/huggingface_hub/utils/_runtime.py
|
|
import platform
|
|
import sys
|
|
import packaging.version
|
|
from rich import print
|
|
from typing import Dict, Any
|
|
|
|
_PY_VERSION: str = sys.version.split()[0].rstrip("+")
|
|
|
|
if packaging.version.Version(_PY_VERSION) < packaging.version.Version("3.8.0"):
|
|
import importlib_metadata # type: ignore
|
|
else:
|
|
import importlib.metadata as importlib_metadata # type: ignore
|
|
|
|
_package_versions = {}
|
|
|
|
_CANDIDATES = [
|
|
"torch",
|
|
"torchvision",
|
|
"Pillow",
|
|
"diffusers",
|
|
"transformers",
|
|
"opencv-python",
|
|
"xformers",
|
|
"accelerate",
|
|
"lama-cleaner",
|
|
"rembg",
|
|
"realesrgan",
|
|
"gfpgan",
|
|
]
|
|
# Check once at runtime
|
|
for name in _CANDIDATES:
|
|
_package_versions[name] = "N/A"
|
|
try:
|
|
_package_versions[name] = importlib_metadata.version(name)
|
|
except importlib_metadata.PackageNotFoundError:
|
|
pass
|
|
|
|
|
|
def dump_environment_info() -> Dict[str, str]:
|
|
"""Dump information about the machine to help debugging issues. """
|
|
|
|
# Generic machine info
|
|
info: Dict[str, Any] = {
|
|
"Platform": platform.platform(),
|
|
"Python version": platform.python_version(),
|
|
}
|
|
info.update(_package_versions)
|
|
print("\n".join([f"- {prop}: {val}" for prop, val in info.items()]) + "\n")
|
|
return info
|