https://github.com/PeterDing/aget
Aget - An Asynchronous Downloader
https://github.com/PeterDing/aget
asynchronous downloader python3
Last synced: 4 months ago
JSON representation
Aget - An Asynchronous Downloader
- Host: GitHub
- URL: https://github.com/PeterDing/aget
- Owner: PeterDing
- Created: 2016-11-21T12:42:28.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-12-04T10:31:29.000Z (almost 2 years ago)
- Last Synced: 2025-06-21T10:51:15.712Z (5 months ago)
- Topics: asynchronous, downloader, python3
- Language: Python
- Homepage:
- Size: 64.5 KB
- Stars: 129
- Watchers: 11
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-hacking-lists - PeterDing/aget - Aget - An Asynchronous Downloader (Python)
README
# Aget - Asynchronous Downloader
[中文](https://github.com/PeterDing/aget/blob/master/README_zh.md)
Aget is an asynchronous downloader operated in command-line, running on Python > 3.5.
It supports HTTP(S), using [httpx](https://github.com/encode/httpx) request library.
Aget continues downloading a partially downloaded file as default.
### Installion
```shell
$ pip3 install aget
```
### Usage
```shell
aget https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
# get an output name
aget https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png -o 'google.png'
# set headers
aget https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png -H "User-Agent: Mozilla/5.0" -H "Accept-Encoding: gzip"
# set concurrency
aget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.tar.xz -s 10
# set request range size
aget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.tar.xz -k 1M
```
### Options
```shell
-o OUT, --out OUT # output path
-H HEADER, --header HEADER # request header
-X METHOD, --method METHOD # request method
-d DATA, --data DATA # request data
-t TIMEOUT, --timeout TIMEOUT # timeout
-s CONCURRENCY, --concurrency CONCURRENCY # concurrency
-k CHUCK_SIZE, --chuck_size CHUCK_SIZE # request range size
```
### For Developer
#### logging
Use environment variable `AGET_LOG_LEVEL` to setting logging level.
The default level is `CRITICAL`.