Download files using requests and save them to a target path
Project description
A convenient function to download to a file using requests.
Basic usage:
url = "https://github.com/takluyver/requests_download/archive/master.zip"
download(url, "requests_download.zip")
An optional headers= parameter is passed through to requests.
Trackers are a lightweight way to monitor the data being downloaded. Two trackers are included:
ProgressTracker - displays a progress bar, using the progressbar2 package.
HashTracker - wraps a hashlib object to calculate a hash (e.g. sha256 or md5) of the file as you download it.
Here’s an example of using both of them:
import hashlib
# progressbar is provided by progressbar2 on PYPI.
from progressbar import DataTransferBar
from requests_download import download, HashTracker, ProgressTracker
hasher = HashTracker(hashlib.sha256())
progress = ProgressTracker(DataTransferBar())
download('https://github.com/takluyver/requests_download/archive/master.zip',
'requests_download.zip', trackers=(hasher, progress))
assert hasher.hashobj.hexdigest() == '...'
To make your own tracker, subclass TrackerBase and define any of these methods:
from requests_download import TrackerBase
class MyTracker(TrackerBase):
def on_start(self, response):
"""Called with requests.Response object, which has response headers"""
pass
def on_chunk(self, chunk):
"""Called multiple times, with bytestrings of data received"""
pass
def on_finish(self):
"""Called when the download has completed"""
pass
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file requests_download-0.1.2.tar.gz
.
File metadata
- Download URL: requests_download-0.1.2.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92d895a6ca51ea51aa42bab864bddaee31b5601c7e7e1ade4c27b0eb6695d846 |
|
MD5 | 56f5163d97f6043056db89d314e83ad8 |
|
BLAKE2b-256 | 349d431a25538f158a3065a76a6311f40b7908f88a4d24efdbb0ca24f83bd614 |
File details
Details for the file requests_download-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: requests_download-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 994d9d332befae6616f562769bab163f08d6404dc7e28fb7bfed4a0a43a754ad |
|
MD5 | 55cfe46eb54086d21af217f408f4f6d5 |
|
BLAKE2b-256 | ada648f0af75cc62dc0b57013820d76c453962dc9ba1fffcfe4381b810b691bb |