exo-explore/exo · error · InsufficientDiskSpaceError
No writable model directory has {required_bytes / (1024**3):
Error message
No writable model directory has {required_bytes / (1024**3):.1f} GiB free. Checked: {[str(d) for d in EXO_MODELS_DIRS]} What it means
Error "No writable model directory has {required_bytes / (1024**3):.1f} GiB free. Checked: {[str(d) for d in EXO_MODELS_DIRS]}" thrown in exo-explore/exo.
Source
Thrown at src/exo/download/download_utils.py:195
return found
return EXO_DEFAULT_MODELS_DIR / model_id.normalize()
def select_download_dir(required_bytes: int) -> Path:
"""Pick the first writable model directory with enough free space.
Raises ``InsufficientDiskSpaceError`` if none have enough space.
"""
for candidate_dir in EXO_MODELS_DIRS:
if not candidate_dir.exists():
continue
try:
usage = shutil.disk_usage(candidate_dir)
if usage.free >= required_bytes:
return candidate_dir
except OSError:
continue
raise InsufficientDiskSpaceError(
f"No writable model directory has {required_bytes / (1024**3):.1f} GiB free. "
f"Checked: {[str(d) for d in EXO_MODELS_DIRS]}"
)
async def select_download_dir_for_shard(
model_id: ModelId,
filtered_file_list: list[FileListEntry],
total_size: int,
) -> Path:
for candidate_dir in EXO_MODELS_DIRS:
if not candidate_dir.exists():
continue
sub = candidate_dir / model_id.normalize()
if not await aios.path.isdir(sub):
continue
existing_bytes = 0
for file_entry in filtered_file_list:View on GitHub (pinned to 21a54c5ea0)
When it happens
Trigger: Thrown at src/exo/download/download_utils.py:195 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of exo-explore/exo@21a54c5ea0 (2026-08-26).
Data as JSON: /api/errors/569636e8d9a63a51.
Report an issue: GitHub.