TurboDL is an extremely smart, fast, and efficient download manager with several automations.
Project description
TurboDL
TurboDL is an extremely smart, fast, and efficient download manager with several automations.
- Built-in sophisticated download acceleration technique.
- Uses a sophisticated algorithm to calculate the optimal number of connections based on file size and connection speed.
- Retry failed requests efficiently.
- Automatically detects file information before download.
- Automatically handles redirects.
- Automatically uses RAM buffer to speed up downloads and reduce disk I/O overhead.
- Supports post-download hash verification.
- Accurately displays a beautiful progress bar.
Installation (from PyPI)
pip install --upgrade turbodl # Install the latest version of TurboDL
Example Usage
Inside a Python script (Basic Usage)
from turbodl import TurboDL
turbodl = TurboDL()
turbodl.download(
url="https://example.com/file.txt", # Your download URL
output_path="path/to/file" # The file/path to save the downloaded file to or leave it empty to save it to the current working directory
)
turbodl.output_path # The absolute path to the downloaded file
Inside a Python script (Advanced Usage)
from turbodl import TurboDL
turbodl = TurboDL(
max_connections="auto",
connection_speed_mbps=80,
show_progress_bar=True,
save_log_file=False,
)
turbodl.download(
url="https://example.com/file.txt",
output_path="path/to/file",
pre_allocate_space=False,
use_ram_buffer="auto",
overwrite=True,
headers=None,
timeout=None
expected_hash=None,
hash_type="md5",
)
turbodl.output_path # The absolute path to the downloaded file
From the command line
turbodl --help # Show help for all commands
turbodl download --help # Show help for the download command
turbodl download [...] https://example.com/file.txt path/to/file # Download the file
CLI Demo
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, fork the repository and create a pull request. You can also simply open an issue and describe your ideas or report bugs. Don't forget to give the project a star if you like it!
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turbodl-0.3.6.tar.gz.
File metadata
- Download URL: turbodl-0.3.6.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd178a7cbd2a7505019bdf3cb20e916202940d389e9f1972bf1d97db3be1056
|
|
| MD5 |
7c12eaf131c14fc8a8a95e465659d59b
|
|
| BLAKE2b-256 |
c565630b28f43a87533d99bbcaa40f291edd4f66698abadb2f6911d7757d814a
|
Provenance
The following attestation bundles were made for turbodl-0.3.6.tar.gz:
Publisher:
release.yaml on henrique-coder/turbodl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
turbodl-0.3.6.tar.gz -
Subject digest:
fcd178a7cbd2a7505019bdf3cb20e916202940d389e9f1972bf1d97db3be1056 - Sigstore transparency entry: 170718346
- Sigstore integration time:
-
Permalink:
henrique-coder/turbodl@fc46b9737ced280ca8218add6419e758431a0669 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/henrique-coder
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@fc46b9737ced280ca8218add6419e758431a0669 -
Trigger Event:
push
-
Statement type:
File details
Details for the file turbodl-0.3.6-py3-none-any.whl.
File metadata
- Download URL: turbodl-0.3.6-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfc88d8ca58228e4daadd961681ebf0626dd776f9b1cc0933c25179f90d02278
|
|
| MD5 |
3953c587e2091f922c51829199dc91f0
|
|
| BLAKE2b-256 |
4400a03914fe2839569af7cf81a303d85cd21b1e97474d66a3b2bf2f4a82d448
|
Provenance
The following attestation bundles were made for turbodl-0.3.6-py3-none-any.whl:
Publisher:
release.yaml on henrique-coder/turbodl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
turbodl-0.3.6-py3-none-any.whl -
Subject digest:
cfc88d8ca58228e4daadd961681ebf0626dd776f9b1cc0933c25179f90d02278 - Sigstore transparency entry: 170718349
- Sigstore integration time:
-
Permalink:
henrique-coder/turbodl@fc46b9737ced280ca8218add6419e758431a0669 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/henrique-coder
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@fc46b9737ced280ca8218add6419e758431a0669 -
Trigger Event:
push
-
Statement type: