{"record":{"id":"bacf3f8d8af06674","repo":"deezer/spleeter","slug":"no-embedded-configuration-name-found","errorCode":null,"errorMessage":"No embedded configuration {name} found","messagePattern":"No embedded configuration (.+?) found","errorType":"exception","errorClass":"SpleeterError","httpStatus":null,"severity":"error","filePath":"spleeter/utils/configuration.py","lineNumber":44,"sourceCode":"    Parameters:\n        descriptor (str):\n            Configuration descriptor to use for lookup.\n\n    Returns:\n        Dict:\n            Loaded description as dict.\n\n    Raises:\n        ValueError:\n            If required embedded configuration does not exists.\n        SpleeterError:\n            If required configuration file does not exists.\n    \"\"\"\n    # Embedded configuration reading.\n    if descriptor.startswith(_EMBEDDED_CONFIGURATION_PREFIX):\n        name = descriptor[len(_EMBEDDED_CONFIGURATION_PREFIX) :]\n        if not loader.is_resource(resources, f\"{name}.json\"):\n            raise SpleeterError(f\"No embedded configuration {name} found\")\n        with loader.open_text(resources, f\"{name}.json\") as stream:\n            return json.load(stream)\n    # Standard file reading.\n    if not exists(descriptor):\n        raise SpleeterError(f\"Configuration file {descriptor} not found\")\n    with open(descriptor, \"r\") as stream:\n        return json.load(stream)\n","sourceCodeStart":26,"sourceCodeEnd":52,"githubUrl":"https://github.com/deezer/spleeter/blob/c8854001ac8acad34a9bc2bd15f28475541828b1/spleeter/utils/configuration.py#L26-L52","documentation":"load_configuration supports descriptors prefixed with the embedded configuration prefix (e.g. 'spleeter:2stems'); it strips the prefix and looks up '<name>.json' inside the packaged spleeter.resources module. If importlib.resources cannot find that resource, it raises SpleeterError. This means the named bundled configuration does not exist in your installed spleeter package — either the name is wrong or the installation is broken/incomplete.","triggerScenarios":"Passing an embedded descriptor like 'spleeter:2stems', 'spleeter:4stems-json' or a typo'd name whose '<name>.json' is not present in the resources package — typically via Separator('spleeter:<name>') or training scripts calling load_configuration directly.","commonSituations":"Typos such as 'spleeter:2stem' or 'spleeter:2-stems'; using a config name from a newer spleeter version than the one installed; broken wheels/conda installs where the package data (json resources) was not shipped; exotic environments where importlib.resources cannot see package data (old Python with backport quirks).","solutions":["Check the exact embedded names available in spleeter/resources (e.g. 2stems.json, 4stems.json, 5stems.json) and correct the descriptor spelling","List the package contents: python -c \"import spleeter.resources, importlib.resources as r; print(list(r.contents(spleeter.resources)))\" to confirm the json ships in your install","Reinstall spleeter cleanly (pip uninstall && pip install spleeter) so package data is restored","If you need a custom config, pass a filesystem path to the json instead of the embedded 'spleeter:' descriptor"],"exampleFix":"// before\nseparator = Separator('spleeter:2-stems')  # SpleeterError: No embedded configuration\n// after\nseparator = Separator('spleeter:2stems')","handlingStrategy":"try-catch","validationCode":"import importlib.resources as resources\nimport spleeter.resources\n\ndef embedded_config_exists(name: str) -> bool:\n    return resources.is_resource(spleeter.resources, f'{name}.json')\n\nassert embedded_config_exists('2stems'), 'use spleeter:2stems / 4stems / 5stems'","typeGuard":"def is_valid_embedded_descriptor(descriptor: str) -> bool:\n    if not descriptor.startswith('spleeter:'):\n        return False\n    name = descriptor[len('spleeter:'):]\n    import importlib.resources as resources, spleeter.resources\n    return resources.is_resource(spleeter.resources, f'{name}.json')","tryCatchPattern":"from spleeter import SpleeterError\ntry:\n    separator = Separator('spleeter:2stems')\nexcept SpleeterError as e:\n    if 'No embedded configuration' in str(e):\n        print('Unknown embedded config; valid: 2stems, 4stems, 5stems')\n    else:\n        raise","preventionTips":["Copy model names exactly from the docs: spleeter:2stems, spleeter:4stems, spleeter:5stems","Verify package data shipped: list spleeter/resources contents after install","Reinstall spleeter if json resources are missing from site-packages","For custom configs, use a filesystem path instead of the embedded prefix"],"tags":["configuration","spleetererror","embedded-resource","missing-resource"],"backgroundTag":"missing-config-resource","analyzedSha":"c8854001ac8acad34a9bc2bd15f28475541828b1","analyzedAt":"2026-08-28T21:38:40.142Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}