Skip to main content

A Simple Robust Downloader written in Python

Project description

Robust Downloader

Code style: black license PyPI Test

A minimal Python downloader with robustness in mind - resumable downloads, retries, and more.

Installation

pip install robust-downloader

Usage

From Python

from robust_downloader import download

download("https://raw.githubusercontent.com/fedebotu/robust-downloader/main/README.md")

From CLI

$ robust-downloader --help
usage: robust-downloader [-h] [-V] [--folder FOLDER] [--filename FILENAME] [--key KEY]
                         [--proxy PROXY] [--md5 MD5] [--sha256 SHA256]
                         [--max-redirect-hops MAX_REDIRECT_HOPS] [--verify VERIFY]
                         [--timeout TIMEOUT] [--retry-max RETRY_MAX]
                         [--sleep-max SLEEP_MAX] [--chunk-size CHUNK_SIZE]
                         [--show-progress SHOW_PROGRESS] [--logging-level LOGGING_LEVEL]
                         url

Example:

$ robust-downloader https://raw.githubusercontent.com/fedebotu/robust-downloader/main/README.md

Available Arguments

positional arguments:
  url                   url to download

options:
  -h, --help            show this help message and exit
  -V, --version         display version (default: None)
  --folder FOLDER       folder to save the file (default: None)
  --filename FILENAME   filename to save the file (default: None)
  --key KEY             key to decrypt the file (default: None)
  --proxy PROXY         proxy to use (default: None)
  --md5 MD5             md5 to check the file (default: None)
  --sha256 SHA256       sha256 to check the file (default: None)
  --max-redirect-hops MAX_REDIRECT_HOPS
                        max redirect hops (default: 3)
  --verify VERIFY       verify the file (default: None)
  --timeout TIMEOUT     timeout in seconds (default: 60)
  --retry-max RETRY_MAX
                        retry max in seconds (default: 500)
  --sleep-max SLEEP_MAX
                        sleep max in seconds (default: 120)
  --chunk-size CHUNK_SIZE
                        chunk size (default: 1024)
  --show-progress SHOW_PROGRESS
                        show progress (default: True)
  --logging-level LOGGING_LEVEL
                        logging level (default: 20)

Acknowledgements

This repository was inspired by gdown.

Contributing

Feel free to contribute to this repository by creating a pull request or submitting an issue!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robust-downloader-0.0.2.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

robust_downloader-0.0.2-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file robust-downloader-0.0.2.tar.gz.

File metadata

  • Download URL: robust-downloader-0.0.2.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for robust-downloader-0.0.2.tar.gz
Algorithm Hash digest
SHA256 08c938b96e317abe6b037e34230a91bda9b5d613f009bca4a47664997c61de90
MD5 cf0883a1792dc46c965ff3f909a875b6
BLAKE2b-256 63208d28efa080f58fa06f6378875ac482ee511c076369e5293a2e65128cf9a0

See more details on using hashes here.

File details

Details for the file robust_downloader-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for robust_downloader-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8fe08bfb64d714fd1a048a7df6eb7b413eb4e624309a49db2c16fbb80a62869d
MD5 c967f17f4636d9eb1d5873cd8485ee16
BLAKE2b-256 56a1779e9d0ebbdc704411ce30915a1105eb01aeaa9e402d7e446613ff8fb121

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page