Source code for diplomat.frontend_ops

import inspect
from diplomat.processing.type_casters import typecaster_function
from diplomat.utils.pretty_printer import printer as print
from diplomat.utils.cli_tools import get_summary_from_doc_str
from dataclasses import asdict


[docs]@typecaster_function def list_all_frontends(): """ List all frontends currently included with this version of DIPLOMAT. """ from diplomat import _FRONTENDS print(f"Number of frontends: {len(_FRONTENDS)}\n\n") for frontend in _FRONTENDS: print(f"Frontend '{frontend.get_package_name()}':") print("Description:") print(f"\t{inspect.getdoc(frontend)}\n")
[docs]@typecaster_function def list_loaded_frontends(): """ List frontends that have successfully loaded, and list their supported functions. """ from diplomat import _LOADED_FRONTENDS, _FRONTENDS frontend_docs = {f.get_package_name(): inspect.getdoc(f) for f in _FRONTENDS} print(f"Number of loaded frontends: {len(_LOADED_FRONTENDS)}\n") for name, funcs in _LOADED_FRONTENDS.items(): print(f"Loaded Frontend '{name}':") print("Description:") print(f"\t{frontend_docs[name]}") print("Supported Functions:") for k, v in funcs: if(k.startswith("_")): continue print(f"\t{k}") print("\t\t" + " ".join(get_summary_from_doc_str(str(inspect.getdoc(v))).split())) print("\n")