download.HTTPDownloader
Stream HTTP downloads through a reusable session.
Usage
download.HTTPDownloader(
*,
method="GET",
auth=None,
trusted_hosts=None,
timeout=DEFAULT_TIMEOUT,
progress=True
)Built upon requests. Inspired by pooch.HTTPDownloader. Supports downloading with GET and POST requests. Manual redirects prevent credentials from reaching untrusted hosts. Use as a context manager or call close() when finished.
Methods
| Name | Description |
|---|---|
| __call__() | Download a URL to a local or remote directory. |
| __del__() | Close the session, suppressing finalization errors. |
| __enter__() | Return this downloader. |
| __exit__() | Close the session. |
| __init__() | Initialize the downloader. |
| close() | Close the session. |
__call__()
Download a URL to a local or remote directory.
Usage
__call__(self, url: str, save_dir: str | Path, filename: str | None = None, overwrite: bool = False) -> Path
__call__(self, url: str, save_dir: UPath, filename: str | None = None, overwrite: bool = False) -> UPathParameters
url: str-
Source URL.
save_dir: str, Path, or UPath-
Destination directory.
filename: str = None-
Output name, inferred from the response or URL when omitted.
overwrite: bool = False- Replace an existing target.
Returns
Path or UPath- Downloaded path.
Raises
ValueError-
If the filename is unsafe.
FileExistsError-
If the target exists unless
overwriteis true.
__del__()
Close the session, suppressing finalization errors.
Usage
__del__()__enter__()
Return this downloader.
Usage
__enter__()__exit__()
Close the session.
Usage
__exit__(*exc_info)__init__()
Initialize the downloader.
Usage
__init__(
*,
method="GET",
auth=None,
trusted_hosts=None,
timeout=DEFAULT_TIMEOUT,
progress=True
)Parameters
method: ("GET", "POST") = "GET"-
HTTP method used to request the file.
auth: tuple[str, str] or instance of AuthBase subclass = None-
Authentication object or
(user, password)pair. trusted_hosts: str or iterable of str = None-
Redirect hosts allowed to receive authentication.
timeout: float or tuple[float, float] = DEFAULT_TIMEOUT-
Request timeout or
(connect, read)timeouts. progress: bool = True- Show download progress.
close()
Close the session.
Usage
close()