Skip to content

kr-stn/homura

 
 

Repository files navigation

Homura

Build PyPI version

Homura (ほむら) is a Python downloader with progress, which can be used to download large files.

It is named after Homura Akemi.

Features

  • PycURL based
  • Resume downloads (if server supports byte ranges on the resource)
  • Support for requests.Session

Installation

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

Usage

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)

About

Python downloader with progress

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%