Skip to content

Untangle kernel loading, part2 - #746

Merged
danieldk merged 3 commits into
mainfrom
untangle-loading2
Aug 5, 2026
Merged

danieldk merged 3 commits into
mainfrom
untangle-loading2

Conversation

@danieldk

@danieldk danieldk commented Aug 4, 2026

Copy link
Copy Markdown
Member
  • Move hub-related functionality to the new hf_hub module.
  • Use install_kernel in load_kernel (goal: make install_kernel the default entry point for getting kernel paths).
  • Remove local_files_only arg from get_locked_kernel, since this case is served by load_kernel.
  • Make install_kernel more pure by moving HF_HUB_OFFLINE handling out of the function. The behavior should be based on the arguments as much as possible. Implicit behaviors make it hard to reason about functions.

This use case is already served by `load_kernel`.

Also make `install_kernel` more pure by not letting it implicitly use
environment variables for switching to offline mode. The caller should
decide.
@HuggingFaceDocBuilderDev

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@drbh drbh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Coverage report — kernels/

Measured on: Python 3.10 / Torch 2.13.0.
Other CI configurations are not included in this number.
Hardware-gated code paths (ROCm/XPU/NPU/Darwin/Windows) are excluded or unreachable on the Linux+CUDA runner.

Total coverage: 84.2% — threshold: 80% — ✅

Per-file breakdown
Name Stmts Miss Cover Missing
src/kernels/__init__.py 11 0 100%
src/kernels/_system.py 6 1 83% 10
src/kernels/_versions.py 63 7 89% 46, 49, 52-53, 56-57, 100
src/kernels/backends.py 212 62 71% 40, 44, 48-51, 68, 90, 108, 117, 121, 125-127, 148, 157, 161, 165-167, 188, 199, 201, 208-211, 224, 228, 232-252, 260, 283-303
src/kernels/compat.py 8 1 88% 5
src/kernels/deps.py 54 4 93% 58-59, 95, 98
src/kernels/hf_hub.py 62 5 92% 18, 20, 114, 136-137
src/kernels/layer/__init__.py 6 0 100%
src/kernels/layer/_interval_tree.py 103 4 96% 23, 52, 147, 150
src/kernels/layer/device.py 48 14 71% 42, 47-49, 91, 96-98, 101, 149, 152, 155-157
src/kernels/layer/func.py 82 7 91% 83, 113, 185, 303, 309, 322, 340
src/kernels/layer/globals.py 5 0 100%
src/kernels/layer/kernelize.py 74 8 89% 255, 281, 289-290, 296, 300, 316-318
src/kernels/layer/layer.py 211 16 92% 169, 212, 218, 231, 339, 419-420, 432, 441, 449, 460, 489, 493, 506, 559, 589
src/kernels/layer/mode.py 14 0 100%
src/kernels/layer/repos.py 144 42 71% 27, 33, 36-43, 63-64, 70, 73-76, 90, 94, 103-104, 110, 113-116, 123-124, 130, 133-136, 143-144, 150, 153-156, 163-164, 170, 173-176, 257
src/kernels/locking.py 108 70 35% 42-109, 113-136, 144, 148-155, 159-169, 173-180
src/kernels/status.py 49 2 96% 23, 81
src/kernels/utils.py 173 17 90% 163, 167, 170, 236, 274-275, 313, 331, 579, 585, 591-592, 613-625
src/kernels/variants.py 270 22 92% 63, 94, 115, 145, 254-255, 297-300, 302, 386-393, 399-405, 436-442, 454-460, 559-561
src/kernels/verify.py 88 1 99% 32
TOTAL 1791 283 84%

Updated by the Test kernels workflow on commit 76fc55be6e62326044d2356b60f454a3435662ae.

@danieldk
danieldk merged commit 349cf92 into main Aug 5, 2026
54 of 56 checks passed
@danieldk
danieldk deleted the untangle-loading2 branch August 5, 2026 06:35

This branch was previously deployed

1 inactive deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants