11"""Utilities for discovering and loading external hls4ml backend plugins."""
22
3- from __future__ import annotations
4-
5- import inspect
63import os
7- from collections .abc import Callable , Iterable
4+ from collections .abc import Callable
85from importlib import import_module
96from importlib .metadata import entry_points
107from typing import Any
118
12- from hls4ml .backends .backend import Backend , register_backend
9+ from hls4ml .backends .backend import register_backend
1310from hls4ml .writer .writers import register_writer
1411
1512ENTRY_POINT_GROUP = 'hls4ml.backends'
@@ -66,16 +63,6 @@ def _load_env_plugins() -> None:
6663
6764def _register_plugin_object (name : str , obj : Any ) -> None :
6865 """Interpret the plugin object and register provided backends."""
69-
70- if inspect .isclass (obj ) and issubclass (obj , Backend ):
71- _safe_register_backend (name , obj )
72- return
73-
74- if isinstance (obj , Iterable ) and not isinstance (obj , (str , bytes )):
75- for item in obj :
76- _register_plugin_object (name , item )
77- return
78-
7966 if callable (obj ):
8067 _invoke_registration_callable (name , obj )
8168 return
@@ -97,10 +84,3 @@ def _invoke_registration_callable(name: str, func: Callable[..., Any]) -> None:
9784 except Exception as exc :
9885 print (f'WARNING: backend plugin callable "{ name } " failed: { exc } ' )
9986 return
100-
101-
102- def _safe_register_backend (name : str , backend_cls : type [Backend ]) -> None :
103- try :
104- register_backend (name , backend_cls )
105- except Exception as exc :
106- print (f'WARNING: failed to register backend "{ name } " from plugin: { exc } ' )
0 commit comments