Expand description
The cleanup feed: the normalizers the Hub carries, as the page’s cleanup candidates.
A second source, parsed rather than constructed. The runtime’s own
feed carries the speech models; this one is the Hub’s models listing,
filtered by the Hub’s own query (text-normalization + gguf,
downloads-sorted) and then by ours: a repo that only reuploads another
listing member collapses into it, a repo that declares languages must
declare English, a repo nobody has fetched is not a candidate, and a repo
with no quantisation this runtime loads is not one either. Every surviving
repo’s blobs answer with each file’s size AND its sha256, so unlike the
speech feed a cleanup download can be digest-checked.
The kind is what separates the two feeds’ entries, and it is exhaustive: a consumer that ignores it does not compile.
Re-exports§
use serde_json::Value;🔒use crate::Error;🔒use crate::catalogue::CatalogueEntry;🔒use crate::catalogue::Download;🔒use crate::catalogue::EntryKind;🔒use crate::catalogue::License;🔒use crate::catalogue::MAX_RESPONSE_BYTES;🔒use crate::catalogue::PREFERRED_DOWNLOADS;🔒use crate::catalogue::feed_client;🔒use crate::catalogue::get_bounded_text;🔒use crate::normalize::CAUSAL_ARCHS;🔒
Structs§
- Cleanup
Source - Where the cleanup feed is enumerated: the Hub’s models listing, with the filters that are the HUB’s as query parameters, and the per-repo blobs endpoint that answers with the files.
- Repo 🔒
- One repo as the listing describes it, before our own filters.
Constants§
- DOWNLOADS_
FLOOR 🔒 - The downloads floor: a repo nobody has fetched says nothing about whether it works, and the listing’s tail is full of them.
- TEXT_
TASKS 🔒 - The task tags a text model carries. A repo that DECLARES one of these is a
text model; a repo that declares some other task is not one, whatever its
other tags say - the union of tags catches a VAE post-processor whose card
says
post-processingand nothing else. A card that declares no task is kept, because silence is not a claim.
Functions§
- base_
name 🔒 - An id’s last segment: a repo’s own name, or a file’s own name.
- candidates 🔒
- The repos worth offering as candidates, in the listing’s own order - the Hub sorts by downloads, which is the only ranking it offers.
- corroborates 🔒
- Whether
basenames the repo’s own model: the base’s last segment appears in the repo id.superwhisper/s1-minicorroboratesMungert/s1-mini-GGUFwhere that repo names it;Qwen/Qwen3-0.6Bdoes not. - declared_
languages 🔒 - The languages a repo declares: the card’s own list when the blobs carried one, else the two-letter codes among its tags. Empty means the card says nothing, which is not a claim about English either way.
- downloads_
from 🔒 - One repo’s blobs, as the entry’s downloads: every file whose name carries a quant this runtime loads, with its own size, digest and URL.
- entry_
for 🔒 - One candidate as a catalogue entry, in the same shape the speech feed’s entries carry so the page draws both with one row.
- fetch_
cleanup - Fetch the cleanup feed. Blocking, like everything else here.
- quant_
of 🔒 - The quant a file name spells, when it spells one this runtime loads.
- runs_
here 🔒 - Whether a blobs answer declares an architecture this runtime’s generator runs. The declaration must be there: a candidate with no declared arch is one nobody can promise, and the failure is a process abort rather than a refusal.