{"record":{"id":"13576e75128886c7","repo":"unslothai/unsloth","slug":"no-supported-dataset-files-join-supported-e","errorCode":null,"errorMessage":"No supported dataset files ({', '.join(SUPPORTED_EXTENSIONS)}) found under {where}","messagePattern":"No supported dataset files \\((.+?)\\) found under (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"studio/backend/core/training/s3_dataset.py","lineNumber":176,"sourceCode":"    Raises ``RuntimeError`` if boto3 is missing, and ``ValueError`` if the\n    bucket/prefix contains no supported dataset files.\n    \"\"\"\n    if not boto3_available():\n        raise RuntimeError(\"S3 dataset loading requires boto3. Install it with: pip install boto3\")\n\n    bucket = s3_config.get(\"bucket\")\n    if not bucket:\n        raise ValueError(\"s3_config.bucket is required\")\n    prefix = s3_config.get(\"prefix\")\n\n    _raise_if_cancelled(cancel_callback)\n    client = _build_s3_client(s3_config)\n\n    keys = _list_dataset_keys(client, bucket, prefix)\n    _raise_if_cancelled(cancel_callback)\n    if not keys:\n        where = f\"s3://{bucket}/{prefix}\" if prefix else f\"s3://{bucket}\"\n        raise ValueError(\n            f\"No supported dataset files ({', '.join(SUPPORTED_EXTENSIONS)}) \"\n            f\"found under {where}\"\n        )\n\n    _validate_single_extension_family(keys)\n\n    owns_temp_dir = dest_dir is None\n    target_dir = dest_dir or tempfile.mkdtemp(prefix = \"unsloth_s3_dataset_\")\n    try:\n        os.makedirs(target_dir, exist_ok = True)\n\n        local_files: list[str] = []\n        used_paths: set[str] = set()\n        for key in keys:\n            _raise_if_cancelled(cancel_callback)\n            filename = os.path.basename(key)\n            local_path = _unique_local_path(target_dir, filename, used_paths)\n            download_kwargs = {}","sourceCodeStart":158,"sourceCodeEnd":194,"githubUrl":"https://github.com/unslothai/unsloth/blob/203007d19051dcd2ae33876786d117c99f6b0368/studio/backend/core/training/s3_dataset.py#L158-L194","documentation":"ValueError raised when _list_dataset_keys returns no S3 objects whose keys end with a supported extension (.parquet, .json, .jsonl, .csv). Listing succeeded and ignored directory placeholders and metadata filenames, but nothing loadable remained, so the loader aborts before creating a temp dir. The message interpolates the supported extensions and the s3://bucket/prefix location that came up empty.","triggerScenarios":"prepare_s3_dataset_download with a prefix that contains only unsupported files (.txt, .arrow, .zip), a wrong bucket/prefix with no objects at all, or a prefix typo (missing/extra trailing segment) that matches nothing.","commonSituations":"Dataset uploaded as .arrow or .txt which the loader does not support; prefix points at the wrong 'folder' level; files live in a sub-prefix the flat listing does not cover; case-sensitive extension mismatch is NOT an issue here (extensions are matched case-insensitively) but wrong names like 'data.parquet2' are.","solutions":["Verify objects exist under the exact prefix: aws s3 ls s3://bucket/prefix --recursive.","Convert/re-upload the dataset in a supported format (.parquet recommended, or .jsonl/.csv).","Fix the prefix string (leading/trailing slashes, wrong folder name) to point at the dataset objects.","Remove reliance on unsupported extensions — rename only if the file genuinely is that format."],"exampleFix":"// before\nprepare_s3_dataset_download({\"bucket\": \"data\", \"prefix\": \"runs/\"})  # only .txt files there\n// after  # convert and upload parquet\naws s3 cp data.parquet s3://data/runs/parquet/","handlingStrategy":"validation","validationCode":"SUPPORTED = ('.parquet', '.json', '.jsonl', '.csv')\n\ndef has_supported_objects(client, bucket: str, prefix: str) -> bool:\n    resp = client.list_objects_v2(Bucket=bucket, Prefix=prefix)\n    return any(k['Key'].lower().endswith(SUPPORTED) for k in resp.get('Contents', []))\n\nassert has_supported_objects(client, bucket, prefix), \"no supported dataset files under prefix\"","typeGuard":null,"tryCatchPattern":"try:\n    dl = prepare_s3_dataset_download(cfg)\nexcept ValueError as e:\n    if 'No supported dataset files' in str(e):\n        # check prefix spelling, upload converted data, then retry\n        ...","preventionTips":["Prefer .parquet exports; verify with `aws s3 ls` before starting the run.","Upload datasets under run-specific prefixes to avoid picking up unrelated objects.","Automate a listing check in the dataset-import pipeline."],"tags":["s3","dataset","validation","data-format"],"backgroundTag":null,"analyzedSha":"203007d19051dcd2ae33876786d117c99f6b0368","analyzedAt":"2026-08-15T02:48:39.846Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}