{"record":{"id":"bb27df732ad87558","repo":"deezer/spleeter","slug":"no-checksum-for-model-name","errorCode":null,"errorMessage":"No checksum for model {name}","messagePattern":"No checksum for model (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"spleeter/model/provider/github.py","lineNumber":128,"sourceCode":"\n        Raises:\n            ValueError:\n                If the given model name is not indexed.\n        \"\"\"\n        url: str = \"/\".join(\n            (\n                self._host,\n                self._repository,\n                self.RELEASE_PATH,\n                self._release,\n                self.CHECKSUM_INDEX,\n            )\n        )\n        response: httpx.Response = httpx.get(url)\n        response.raise_for_status()\n        index: Dict = response.json()\n        if name not in index:\n            raise ValueError(f\"No checksum for model {name}\")\n        return index[name]\n\n    def download(self, name: str, path: str) -> None:\n        \"\"\"\n        Download model denoted by the given name to disk.\n\n        Parameters:\n            name (str):\n                Name of the model to download.\n            path (str):\n                Path of the directory to save model into.\n        \"\"\"\n        url: str = \"/\".join(\n            (self._host, self._repository, self.RELEASE_PATH, self._release, name)\n        )\n        url = f\"{url}.tar.gz\"\n        logger.info(f\"Downloading model archive {url}\")\n        with httpx.Client(http2=True) as client:","sourceCodeStart":110,"sourceCodeEnd":146,"githubUrl":"https://github.com/deezer/spleeter/blob/c8854001ac8acad34a9bc2bd15f28475541828b1/spleeter/model/provider/github.py#L110-L146","documentation":"This error comes from the GitHub model provider's checksum lookup: it fetches the model index (a JSON document mapping model names to checksums) from a remote URL, and raises ValueError when the requested model name is not a key in that index. It means spleeter cannot verify the integrity data for the model you asked to download, so it refuses to proceed. Usually this indicates a typo in the model name or an index fetched from the wrong/older remote source.","triggerScenarios":"Calling download(name, path) (or test_checksum) on GitHubModelProvider with a name that is absent from the remote index JSON; e.g. a misspelled model like '2stems' instead of 'spleeter:2stems'-style names, a model removed from the index, or an index URL pointing at an outdated fork/release.","commonSituations":"Typos in the model name passed to the separator constructor or model_provider.download; using a custom/unofficial model name that was never published to the index; network proxies caching a stale index; pinning an old spleeter version whose index URL no longer matches published models.","solutions":["Verify the model name spelling against the models published in the spleeter model index (e.g. 'spleeter:2stems', 'spleeter:4stems', 'spleeter:5stems')","Call test_checksum(name) first to confirm the name resolves before attempting a full download","Check the index URL used by GitHubModelProvider is reachable and returns the current JSON (httpx.get of the index) and that no proxy/cache is serving a stale copy","Upgrade spleeter to a version whose index URL matches the currently published models, or host your own index and add your model to it"],"exampleFix":"// before\nprovider.download('2stems', './models')  # ValueError: No checksum for model 2stems\n// after\nprovider.download('spleeter:2stems', './models')","handlingStrategy":"validation","validationCode":"from spleeter.model.provider.github import GitHubModelProvider\nprovider = GitHubModelProvider()\nprovider.test_checksum('spleeter:2stems')  # raises ValueError early if unknown","typeGuard":"import httpx\n\ndef model_in_index(provider, name: str) -> bool:\n    index = httpx.get(provider._index_url).json()  # or re-fetch the index\n    return isinstance(index, dict) and name in index","tryCatchPattern":"try:\n    provider.download(name, path)\nexcept ValueError as e:\n    if 'No checksum for model' in str(e):\n        print(f'Unknown model {name!r}; use spleeter:2stems / 4stems / 5stems')\n    else:\n        raise","preventionTips":["Only use model names documented in the spleeter README (spleeter:2stems, spleeter:4stems, spleeter:5stems)","Call test_checksum(name) before download as a cheap pre-check","Pin your spleeter version and confirm its index URL matches published models","If using custom models, host your own index and register the name there"],"tags":["model-download","checksum","valueerror","configuration"],"backgroundTag":"model-checksum-not-found","analyzedSha":"c8854001ac8acad34a9bc2bd15f28475541828b1","analyzedAt":"2026-08-28T21:38:40.142Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}