Skip to content

feat: make upstream a list in the card. - #861

Closed
sayakpaul wants to merge 7 commits into
mainfrom
upstream-list
Closed

sayakpaul wants to merge 7 commits into
mainfrom
upstream-list

Conversation

@sayakpaul

Copy link
Copy Markdown
Member

Closes #850

The changset looks bigger than expected because of the changes made to the cards in examples. Other than that, the changeset is specific.

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

@github-actions

github-actions Bot commented Sep 29, 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: 87.2% — 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 130 14 89% 53, 59-60, 63-64, 102, 165-170, 199, 219
src/kernels/archs.py 56 1 98% 94
src/kernels/backends.py 213 62 71% 42, 46, 50-53, 70, 92, 110, 119, 123, 127-129, 150, 159, 163, 167-169, 190, 201, 203, 210-213, 226, 230, 234-254, 262, 285-305
src/kernels/compat.py 9 1 89% 5
src/kernels/deps.py 70 1 99% 56
src/kernels/hf_hub.py 63 2 97% 21, 23
src/kernels/importer.py 44 5 89% 80, 84, 87, 101-102
src/kernels/install.py 21 7 67% 76-100
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 85 6 93% 90, 115, 191, 311, 338, 368
src/kernels/layer/globals.py 5 0 100%
src/kernels/layer/kernelize.py 80 8 90% 258, 293, 301-302, 308, 312, 328-330
src/kernels/layer/layer.py 215 14 93% 182, 229, 256, 390, 470-471, 492, 500, 511, 540, 544, 557, 610, 640
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 71 2 97% 338, 378
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 156 2 99% 220, 226
src/kernels/status.py 50 2 96% 25, 79
src/kernels/validate.py 88 5 94% 9, 100, 167, 190-191
src/kernels/variants.py 278 17 94% 65, 96, 117, 147, 256-257, 299-302, 304, 388-394, 400-406, 455-461
src/kernels/verify.py 127 6 95% 46, 202-204, 318-319
TOTAL 2243 286 87%

Updated by the Test kernels workflow on commit 44d08a16b07e5c52415bdf1c3389a0e6944f8c09.

Comment thread kernels-common/src/config/v3.rs Outdated
Comment thread kernels-common/src/config/v4.rs Outdated
Comment thread kernels-common/src/config/v5.rs Outdated
Comment thread kernels/rust/lib.rs
Comment thread kernels/src/kernels/importer.py
@sayakpaul

Copy link
Copy Markdown
Member Author

@danieldk I think I have addressed everything.

const KERNELS_VERSION_KERNEL_DEPENDS: Version<3> = Version::new([0, 17, 0]);

/// First `kernels` version that can read multiple upstream repositories.
const KERNELS_VERSION_MULTIPLE_UPSTREAMS: Version<3> = Version::new([0, 18, 0]);

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 didn't think of this, but this seems like a bad idea, because if we do this, then all of the kernels that end up a list break on all existing kernels versions.

Seems a very hard break for a relatively minor metadata change.

E.g. we'll have to eventually break backwards compat for kernel dependencies, but that's really a major feature where breaking things is painful but pays off.

I'm sorry I didn't catch this in the previous review.

The dirty workaround would be to make a new field upstreams in the metadata, but that is also somewhat 🫠.

@sayakpaul sayakpaul closed this Sep 29, 2026
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.

Support multiple upstreams (make upstream a list)

3 participants