{"record":{"id":"e8776d5236c373b7","repo":"huggingface/transformers","slug":"can-t-find-pkg-in-deps-keys-check-dependenc","errorCode":null,"errorMessage":"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py","messagePattern":"can't find (.+?) in (.+?), check dependency_versions_table\\.py","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"src/transformers/dependency_versions_check.py","lineNumber":58,"sourceCode":"    if pkg in deps:\n        if pkg == \"tokenizers\":\n            # must be loaded here, or else tqdm check may fail\n            from .utils import is_tokenizers_available\n\n            if not is_tokenizers_available():\n                continue  # not required, check version only if installed\n        elif pkg == \"accelerate\":\n            # must be loaded here, or else tqdm check may fail\n            from .utils import is_accelerate_available\n\n            # Maybe switch to is_torch_available in the future here so that Accelerate is hard dep of\n            # Transformers with PyTorch\n            if not is_accelerate_available():\n                continue  # not required, check version only if installed\n\n        require_version_core(deps[pkg])\n    else:\n        raise ValueError(f\"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py\")\n\n\ndef dep_version_check(pkg, hint=None):\n    require_version(deps[pkg], hint)\n","sourceCodeStart":40,"sourceCodeEnd":63,"githubUrl":"https://github.com/huggingface/transformers/blob/a597f974857b3d92939971296bc0deb93d33d780/src/transformers/dependency_versions_check.py#L40-L63","documentation":"On import/usage, transformers validates versions of packages listed in dependency_versions_table.py. require_version_core looks up each package name in that table; a name not present means the internal deps dict has no entry for it, so the check cannot construct a version constraint and raises. This is almost always triggered by code registering a new dependency without adding it to dependency_versions_table.py, or by passing an incorrect package name.","triggerScenarios":"Calling require_version_core('some_pkg') / dep_version_check('some_pkg') for a package absent from dependency_versions_table.py; adding a new optional import to the library and wiring the version check but forgetting the table entry; renaming a package in the check but not the table.","commonSituations":"Contributors adding a dependency in a PR; downstream forks that extend the version-check machinery; typos in package names in custom check calls.","solutions":["Add the package to src/transformers/dependency_versions_table.py (e.g. 'mypkg': '>=1.0.0') so the check can find a constraint.","If the package should not be checked, remove/adjust the call site instead of leaving an unregistered name.","Verify spelling/casing of the package name matches the table key exactly."],"exampleFix":"# before (dependency_versions_check.py)\nrequire_version_core(\"newdep\")  # ValueError: not in table\n\n# after: register in dependency_versions_table.py\ndeps = {\n    ...\n    \"newdep\": \">=0.2.0\",\n}\n# then require_version_core(\"newdep\") succeeds","handlingStrategy":"validation","validationCode":"from transformers.dependency_versions_table import deps\nif pkg not in deps:\n    raise ValueError(f\"{pkg} missing from dependency_versions_table.py; add an entry before checking its version\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Register every new dependency in dependency_versions_table.py in the same PR.","Use exact key names; the lookup is case-sensitive.","Run a quick import smoke test in CI to catch missing-table errors early."],"tags":["dependencies","version-check","contributor","configuration"],"backgroundTag":null,"analyzedSha":"a597f974857b3d92939971296bc0deb93d33d780","analyzedAt":"2026-08-14T18:24:08.354Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}