Source code for spey.about
"""Function to display details about the spey installation"""
import platform
import sys
from subprocess import check_output
import numpy
import scipy
import semantic_version
import tqdm
from pkg_resources import get_distribution, iter_entry_points
[docs]
def about() -> None:
"""Prints the information regarding spey installation"""
print(check_output([sys.executable, "-m", "pip", "show", "spey"]).decode())
print(f"Platform info: {platform.platform(aliased=True)}")
print(
f"Python version: {sys.version_info[0]}.{sys.version_info[1]}.{sys.version_info[2]}"
)
print(f"Numpy version: {numpy.__version__}")
print(f"Scipy version: {scipy.__version__}")
print(f"Autograd version: {get_distribution('autograd').version}")
print(f"tqdm version: {tqdm.__version__}")
print(f"semantic_version version: {semantic_version.__version__}")
print("\nInstalled backend plug-ins:\n")
shown = ["spey"]
plugin_devices = iter_entry_points("spey.backend.plugins")
for d in plugin_devices:
print(f"- {d.name} ({d.dist.project_name}-{d.dist.version})")
if d.dist.project_name not in shown:
print(
check_output(
[sys.executable, "-m", "pip", "show", d.dist.project_name]
).decode()
)
shown.append(d.dist.project_name)