(entrypoints: EntryPoints)
| 101 | |
| 102 | |
| 103 | def build_engines(entrypoints: EntryPoints) -> dict[str, BackendEntrypoint]: |
| 104 | backend_entrypoints: dict[str, type[BackendEntrypoint]] = {} |
| 105 | for backend_name, (module_name, backend) in BACKEND_ENTRYPOINTS.items(): |
| 106 | if module_name is None or module_available(module_name): |
| 107 | backend_entrypoints[backend_name] = backend |
| 108 | entrypoints_unique = remove_duplicates(entrypoints) |
| 109 | external_backend_entrypoints = backends_dict_from_pkg(entrypoints_unique) |
| 110 | backend_entrypoints.update(external_backend_entrypoints) |
| 111 | backend_entrypoints = sort_backends(backend_entrypoints) |
| 112 | set_missing_parameters(backend_entrypoints) |
| 113 | return {name: backend() for name, backend in backend_entrypoints.items()} |
| 114 | |
| 115 | |
| 116 | @functools.lru_cache(maxsize=1) |
no test coverage detected
searching dependent graphs…