{"record":{"id":"b957ec9c234f4a36","repo":"huggingface/transformers","slug":"funcrepository-requires-kernels-to-be-installed","errorCode":null,"errorMessage":"FuncRepository requires `kernels` to be installed. Run `pip install kernels`.","messagePattern":"FuncRepository requires `kernels` to be installed\\. Run `pip install kernels`\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"src/transformers/integrations/hub_kernels.py","lineNumber":563,"sourceCode":"    class LayerRepository:\n        def __init__(self, *args, **kwargs):\n            raise RuntimeError(\"LayerRepository requires `kernels` to be installed. Run `pip install kernels`.\")\n\n        def load(self):\n            raise NotImplementedError(\"LayerRepository requires `kernels` to be installed. Run `pip install kernels.\")\n\n    class LocalLayerRepository:\n        def __init__(self, *args, **kwargs):\n            raise RuntimeError(\"LocalLayerRepository requires `kernels` to be installed. Run `pip install kernels`.\")\n\n        def load(self):\n            raise NotImplementedError(\n                \"LocalLayerRepository requires `kernels` to be installed. Run `pip install kernels.\"\n            )\n\n    class FuncRepository:\n        def __init__(self, *args, **kwargs):\n            raise RuntimeError(\"FuncRepository requires `kernels` to be installed. Run `pip install kernels`.\")\n\n    def replace_kernel_forward_from_hub(*args, **kwargs):\n        raise RuntimeError(\n            \"replace_kernel_forward_from_hub requires `kernels` to be installed. Run `pip install kernels`.\"\n        )\n\n    def register_kernel_mapping(*args, **kwargs):\n        raise RuntimeError(\"register_kernel_mapping requires `kernels` to be installed. Run `pip install kernels`.\")\n\n    def register_kernel_mapping_transformers(*args, **kwargs):\n        raise RuntimeError(\n            \"register_kernel_mapping_transformers requires `kernels` to be installed. Run `pip install kernels`.\"\n        )\n\n\n_HUB_KERNEL_MAPPING: dict[str, dict[str, str]] = {\n    \"finegrained-fp8\": {\"repo_id\": \"kernels-community/finegrained-fp8\", \"version\": 4},\n    \"deep-gemm\": {\"repo_id\": \"kernels-community/deep-gemm\", \"version\": 2},","sourceCodeStart":545,"sourceCodeEnd":581,"githubUrl":"https://github.com/huggingface/transformers/blob/a597f974857b3d92939971296bc0deb93d33d780/src/transformers/integrations/hub_kernels.py#L545-L581","documentation":"`FuncRepository` wraps a plain kernel function (as opposed to a Hub layer) and, in the no-`kernels` fallback block, is replaced by a stub whose constructor raises RuntimeError. The message makes explicit that the entire hub-kernels integration is unavailable without the optional `kernels` dependency.","triggerScenarios":"Instantiating `FuncRepository(...)` — directly or through kernelized model code paths that wrap hub functions — without `kernels` installed.","commonSituations":"Loading a kernelized model (e.g. with `kernelize`/`use_kernel_func_from_hub`) on a machine where only core transformers is installed.","solutions":["`pip install kernels` (compatible version range per the error text).","Skip function-kernel wrapping when `is_kernels_available()` is False.","Load the model with `attn_implementation=\"eager\"`/default and no kernel config to avoid the path entirely."],"exampleFix":"# before\nrepo = FuncRepository(my_kernel_func)  # RuntimeError\n\n# after\nfrom transformers.utils.import_utils import is_kernels_available\nif is_kernels_available():\n    repo = FuncRepository(my_kernel_func)\nelse:\n    repo = None","handlingStrategy":"type-guard","validationCode":"from transformers.utils.import_utils import is_kernels_available\nif is_kernels_available():\n    from transformers.integrations.hub_kernels import FuncRepository\n    repo = FuncRepository(func)\nelse:\n    repo = None","typeGuard":"def func_repository_usable() -> bool:\n    from transformers.utils.import_utils import is_kernels_available\n    return is_kernels_available()","tryCatchPattern":"try:\n    repo = FuncRepository(func)\nexcept RuntimeError as e:\n    if \"kernels\" in str(e):\n        repo = None\n    else:\n        raise","preventionTips":["Declare `kernels` in your project dependencies if any code path touches FuncRepository.","Feature-detect once at startup and branch, rather than catching at every call site."],"tags":["dependencies","kernels","optional-install"],"backgroundTag":null,"analyzedSha":"a597f974857b3d92939971296bc0deb93d33d780","analyzedAt":"2026-08-14T18:24:08.354Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}