Source code for mipcandy.data.download

from os import PathLike
from zipfile import ZipFile

from requests import get
from rich.console import Console
from rich.progress import track


[docs] def download_dataset(name: str, to: str | PathLike[str], *, endpoint: str = "cds.projectneura.org", console: Console = Console()) -> None: to_zip = f"{to}.zip" with get(f"https://{endpoint}/{name}.zip", stream=True) as response: response.raise_for_status() with open(to_zip, "wb") as f: for chunk in track(response.iter_content(chunk_size=8192), description="Downloading...", console=console): f.write(chunk) console.print(f"Dataset successfully downloaded as {to_zip}") console.print("Unzipping...") with ZipFile(to_zip, "r") as zip_ref: zip_ref.extractall(to) console.print(f"Dataset successfully extracted to {to}")