Metadata-Version: 2.1
Name: fire-downloader
Version: 1.0.2
Summary: Package for downloading urls
Author-email: Quinten Roets <qdr2104@columbia.edu>
License: MIT
Project-URL: Source Code, https://github.com/quintenroets/downloader
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: package-utils<1,>=0.6.1
Requires-Dist: python-dateutil<3,>=2.8.2
Requires-Dist: requests<3,>=2.31.0
Requires-Dist: retry<1,>=0.9.2
Requires-Dist: superpathlib<3,>=2.0.1
Requires-Dist: tqdm<5,>=4.66.1
Provides-Extra: dev
Requires-Dist: package-dev-tools<1,>=0.5.11; extra == "dev"
Requires-Dist: package-dev-utils<1,>=0.1.6; extra == "dev"

# Downloader
[![PyPI version](https://badge.fury.io/py/fire-downloader.svg)](https://badge.fury.io/py/fire-downloader)
![Python version](https://img.shields.io/badge/python-3.10+-brightgreen)
![Operating system](https://img.shields.io/badge/os-linux%20%7c%20macOS-brightgreen)
![Coverage](https://img.shields.io/badge/coverage-93%25-brightgreen)

Download urls in a script as if you would download them from your browser

Features:
* Only downloads when the destination does not exist yet or when the server indicates that there is a newer version
* Automatically retry after error
* Continue from partial download after error
* Show progressbar during download
* Download multiple urls in parallel
* Specify custom callback on progress update

Optional options:
* Destination location
* Number of retries
* Headers, session or cookies for download request
* Whether to overwrite the download if the newly downloaded file has the same size

## Usage
### Cli

```shell
download url
```

### Python scripts

```python
import downloader
```

* Download single url:

```python
downloader.download(url)
```

* Download multiple urls:

```python
downloader.download_urls(url)
```

## Installation
```shell
pip install fire-downloader
```
