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:
Ubuntu
$ sudo apt-get install build-essential libcurl4-openssl-dev python-dev
Fedora
$ sudo yum groupinstall "Development Tools"
$ sudo yum install libcurl libcurl-devel python-devel
Then, install homura
$ pip install homura
The 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 ETA
To 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'})
Or 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)