Skip to main content

TurboDL is an extremely smart, fast, and efficient download manager with several automations.

Project description

TurboDL

PyPI - Version PyPI - Downloads PyPI - Code Style PyPI - Format PyPI - Python Compatible Versions

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.
  • Supports post-download hash verification.
  • Automatically uses RAM buffer to speed up downloads and reduce disk I/O overhead.
  • Accurately displays a beautiful progress bar.

Installation (from PyPI)

pip install -U 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
)
# >>> Downloading "file.txt" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 25.2/25.2 MB 82.6 MB/s 0:00:00 0:00:01 100% (with RAM buffer, writing to DISK)

print(turbodl.output_path)  # The absolute path to the downloaded file
# >>> absolute/path/to/file.txt

Inside a Python script (Advanced Usage)

from turbodl import TurboDL


turbodl = TurboDL(
    max_connections="auto",
    connection_speed=80,
    show_progress_bars=True,
    custom_headers=None,
    timeout=None
)
turbodl.download(
    url="https://example.com/file.txt",
    output_path="path/to/file",
    pre_allocate_space=False,
    use_ram_buffer="auto",
    overwrite=True,
    expected_hash=None,
    hash_type="md5",
)
# >>> Downloading "file.txt" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 25.2/25.2 MB 82.6 MB/s 0:00:00 0:00:01 100% (with RAM buffer, writing to DISK)

print(turbodl.output_path)  # The absolute path to the downloaded file
# >>> absolute/path/to/file.txt

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
# >>> Downloading "file.txt" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 25.2/25.2 MB 82.6 MB/s 0:00:00 0:00:01 100% (with RAM buffer, writing to DISK)

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


Download files

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

Source Distribution

turbodl-0.3.0.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

turbodl-0.3.0-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file turbodl-0.3.0.tar.gz.

File metadata

  • Download URL: turbodl-0.3.0.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for turbodl-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c0873717b338c7ff03ebf675fa7597988d4e87784719e27e9c41b2167dd384e2
MD5 a5c5087fc6c8604ba289c777708a78ce
BLAKE2b-256 f2273a3e3052fd676b6a3b5983bd4cb7307168346744aa530d7dd6ca06dd6d95

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbodl-0.3.0.tar.gz:

Publisher: release.yaml on henrique-coder/turbodl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turbodl-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: turbodl-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for turbodl-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 133afd0115713e12086e1ab59ef968750f80adee220a06fcb238cd101331822e
MD5 9f76cd4a23d5ecc9be1af1df9b02e3f5
BLAKE2b-256 24dc3e282fac8f4ee6f1e74ecc535015e05d28fb1969c56da9ea3a8b7c17cf4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbodl-0.3.0-py3-none-any.whl:

Publisher: release.yaml on henrique-coder/turbodl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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