Skip to content

TurboDL is an extremely smart, fast, and efficient download manager designed to optimize your downloading experience.

License

Notifications You must be signed in to change notification settings

henrique-coder/turbodl

Repository files navigation

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.
  • 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=100,
    show_progress_bar=True,
)
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

TurboDL 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!