rohitg00/ai-engineering-from-scratch · error · ValueError
unsupported URL scheme {parsed.scheme!r} for shard {plan.sha
Error message
unsupported URL scheme {parsed.scheme!r} for shard {plan.shard_id} What it means
Error "unsupported URL scheme {parsed.scheme!r} for shard {plan.shard_id}" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/42-large-corpus-downloader/code/main.py:315
return False
actual_size = shard_path.stat().st_size
if actual_size != state.verified_bytes:
return False
hasher = hashlib.sha256()
with shard_path.open("rb") as fh:
remaining = state.verified_bytes
while remaining > 0:
buf = fh.read(min(self.chunk_bytes, remaining))
if not buf:
return False
hasher.update(buf)
remaining -= len(buf)
return hasher.hexdigest() == state.sha256_prefix_hex
def download(self, plan: ShardPlan) -> ShardResult:
parsed = urllib.parse.urlparse(plan.url)
if parsed.scheme not in {"http", "https", "file"}:
raise ValueError(
f"unsupported URL scheme {parsed.scheme!r} for shard {plan.shard_id}"
)
shard_path, checkpoint_path = self._paths_for(plan.shard_id)
state = self._read_checkpoint(checkpoint_path)
resume_from = 0
rolling = hashlib.sha256()
if state is not None and state.url == plan.url and self._verify_partial(shard_path, state):
resume_from = state.verified_bytes
with shard_path.open("rb") as fh:
remaining = resume_from
while remaining > 0:
buf = fh.read(min(self.chunk_bytes, remaining))
if not buf:
break
rolling.update(buf)
remaining -= len(buf)
else:
if shard_path.exists():View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/42-large-corpus-downloader/code/main.py:315 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/a33e4b86cc52c84d.
Report an issue: GitHub.