Skip to content

feat: allow passing a list of trusted repo ids. - #806

Merged
sayakpaul merged 3 commits into
mainfrom
trust-remote-code-lists
Sep 2, 2026
Merged

feat: allow passing a list of trusted repo ids.#806
sayakpaul merged 3 commits into
mainfrom
trust-remote-code-lists

Conversation

@sayakpaul

Copy link
Copy Markdown
Member

Fixes #756

@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.

Comment on lines +97 to +99
self._trust_remote_code = (
trust_remote_code.copy() if isinstance(trust_remote_code, list) else trust_remote_code
)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This complexity is for the following reasons:

  • We use a check of if isinstance(trust_remote_code, list): .... Otherwise, we could have packed into a tuple directly. We need a tuple to be able to hash().
  • We want to prevent user-side mutations to an allowlist affecting the status of trust_remote_code.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like the defensive coding here!

@github-actions

github-actions Bot commented Sep 2, 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: 86.8% — threshold: 80% — ✅

Per-file breakdown
Name Stmts Miss Cover Missing
src/kernels/__init__.py 14 0 100%
src/kernels/_system.py 6 1 83% 10
src/kernels/_versions.py 78 9 88% 47, 53-54, 57-58, 97, 119, 130, 136
src/kernels/archs.py 56 1 98% 95
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 103 2 98% 59, 132
src/kernels/hf_hub.py 62 2 97% 18, 20
src/kernels/importer.py 57 5 91% 112, 116, 119, 133-134
src/kernels/install.py 21 7 67% 77-101
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 87 6 93% 91, 124, 198, 320, 346, 376
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 216 15 93% 183, 230, 256, 376, 456-457, 469, 478, 486, 497, 526, 530, 543, 596, 626
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/load.py 69 2 97% 329, 368
src/kernels/locking.py 89 64 28% 35-83, 91-98, 102-125, 137, 152-159, 165-175, 179-186
src/kernels/python_deps.py 58 6 90% 59-60, 64-65, 101, 104
src/kernels/resolver.py 141 2 99% 182, 188
src/kernels/status.py 49 2 96% 23, 81
src/kernels/variants.py 278 19 93% 64, 95, 116, 146, 255-256, 298-301, 303, 387-394, 400-406, 437-443, 455-461
src/kernels/verify.py 88 1 99% 32
TOTAL 2086 275 87%

Updated by the Test kernels workflow on commit 96c3d62264533b6ea82c6d4a42e988d422d1c954.

@sayakpaul
sayakpaul marked this pull request as ready for review September 2, 2026 09:07
Comment on lines +97 to +99
self._trust_remote_code = (
trust_remote_code.copy() if isinstance(trust_remote_code, list) else trust_remote_code
)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like the defensive coding here!

@sayakpaul
sayakpaul merged commit b70f40f into main Sep 2, 2026
53 of 54 checks passed
@sayakpaul
sayakpaul deleted the trust-remote-code-lists branch September 3, 2026 02:29
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.

Allow trust_remote_code to be a per-repo allowlist (e.g. ["org1/kernel1", "org2/kernel2"])

3 participants