def METHOD_NAME(dataset: Dict[str, str]) -> io.BytesIO:
    from .. import session
    f = session.get(dataset["url"], stream=True)
    buffer = io.BytesIO()
    if "Content-Length" in f.headers:
        total = int(f.headers["Content-Length"])
        for chunk in tqdm(
            f.iter_content(1024),
            total=total // 1024 + 1 if total % 1024 > 0 else 0,
            desc="download",
        ):
            buffer.write(chunk)
    else:
        buffer.write(f.content)
    buffer.seek(0)
    compute_md5 = md5(buffer.getbuffer()).hexdigest()
    if compute_md5 != dataset["md5sum"]:
        raise RuntimeError(
            f"Error in MD5 check: {compute_md5} instead of {dataset['md5sum']}"
        )
    return buffer