Parfive¶
Parfive is a small library for downloading files, it’s objective is to provide a simple API for queuing files for download and then providing excellent feedback to the user about the in progress downloads. It also aims to provide a clear interface for inspecting any failed downloads.
The parfive package was motivated by the needs of
SunPy’s net
submodule, but should be generally
applicable to anyone who want’s a user friendly way of downloading multiple
files in parallel.
Parfive supports downloading files over either HTTP or FTP using
aiohttp and aioftp
aioftp
is an optional dependency, which does not need to be installed to
download files over HTTP.
Installation¶
parfive can be installed via pip:
pip install parfive
or with FTP support:
pip install parfive[ftp]
or with conda from conda-forge:
conda install -c conda-forge parfive
or from GitHub.
Usage¶
parfive works by creating a downloader object, queuing downloads with it and
then running the download. parfive has a synchronous API, but uses asyncio
to
parallelise downloading the files.
A simple example is:
from parfive import Downloader
dl = Downloader()
dl.enqueue_file("http://data.sunpy.org/sample-data/predicted-sunspot-radio-flux.txt", path="./")
files = dl.download()
Classes¶
Downloader ([max_conn, progress, …]) |
Download files in parallel. |
Results (*args[, errors]) |
The results of a download from parfive.Downloader.download . |