Homura (ほむら) is a Python downloader with progress, which can be used to download large files.
It is named after Homura Akemi.
- PycURL based
- Resume downloads (if server supports byte ranges on the resource)
- Support for
requests.Session
Homura depends on PycURL. Install dependencies before installing the python package:
sudo apt-get install build-essential libcurl4-openssl-dev python-devYum:
sudo yum groupinstall "Development Tools"
sudo yum install libcurl libcurl-devel python-develDNF:
sudo dnf groupinstall "Development Tools"
sudo dnf install libcurl libcurl-devel python-develpip install homuraThe simplest usage is to import the utility function download:
from homura import download
download('http://download.thinkbroadband.com/200MB.zip')
3% 6.2 MiB 739.5 KiB/s 0:04:28 ETATo specify path for downloaded file:
download(url='http://download.thinkbroadband.com/200MB.zip',
path='/path/to/big.zip')You can specify extra headers as a dictionary:
download(url='http://example.com', headers={'API-Key': '123456'})You can work with Session objects of the requests library:
import requests
s = requests.Session()
# Do some work with `s` and send requests
download(url='http://example.com', session=s)Pass options to setopt of the pycurl.Curl object via the pass_through_opts argument:
import pycurl
download(url=url, pass_through_opts={pycurl.FOLLOWLOCATION: True})
