aboutsummaryrefslogtreecommitdiff
path: root/src/mlia/target/registry.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mlia/target/registry.py')
-rw-r--r--src/mlia/target/registry.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mlia/target/registry.py b/src/mlia/target/registry.py
index 325dd04..4870fc8 100644
--- a/src/mlia/target/registry.py
+++ b/src/mlia/target/registry.py
@@ -3,12 +3,9 @@
"""Target module."""
from __future__ import annotations
-from typing import cast
-
from mlia.backend.config import BackendType
-from mlia.backend.manager import DefaultInstallationManager
+from mlia.backend.manager import get_installation_manager
from mlia.backend.registry import registry as backend_registry
-from mlia.cli.config import get_installation_manager
from mlia.core.common import AdviceCategory
from mlia.core.reporting import Column
from mlia.core.reporting import Table
@@ -65,14 +62,23 @@ def supported_targets(advice: AdviceCategory) -> list[str]:
]
+def all_supported_backends() -> set[str]:
+ """Return set of all supported backends by all targets."""
+ return {
+ backend
+ for item in registry.items.values()
+ for backend in item.supported_backends
+ }
+
+
def table() -> Table:
"""Get a table representation of registered targets with backends."""
def get_status(backend: str) -> str:
if backend_registry.items[backend].type == BackendType.BUILTIN:
return BackendType.BUILTIN.name
- mgr = cast(DefaultInstallationManager, get_installation_manager())
- return "INSTALLED" if mgr.already_installed(backend) else "NOT INSTALLED"
+ mgr = get_installation_manager()
+ return "INSTALLED" if mgr.backend_installed(backend) else "NOT INSTALLED"
def get_advice(target: str) -> tuple[str, str, str]:
supported = supported_advice(target)