Skip to content

maycuatroi/evo_downloader

Repository files navigation

Evo Downloader

codecov CI

This module contains the main functionality for downloading files, including support for multi-threaded downloads and handling servers that do not support range requests.

Install it from PyPI

Lean Version

pip install evo-downloader

Full Version with PyQt6

pip install evo-downloader[full]

Usage

As a Library

You can use evo-download to download files programmatically.

from evo_downloader.downloader import Downloader

downloader = Downloader(num_threads=10)

# Example file URLs
file_urls = [
    # url only
    "http://images.cocodataset.org/annotations/image_info_test2014.zip",
    # Tuple with file name
    ('evo_downloader.zip', 'https://github.com/maycuatroi/evo_downloader/archive/refs/heads/main.zip')
]

downloaded_files = downloader.download_files(file_urls, "example_folder")

for file_path in downloaded_files:
    print(f"Downloaded: {file_path}")

CLI Usage

You can also use edownload from the command line.

$ python -m edownload download http://images.cocodataset.org/annotations/image_info_test2014.zip --folder example_folder --num-threads 10

# or if installed as a script
$ edownload download http://images.cocodataset.org/annotations/image_info_test2014.zip --folder example_folder --num-threads 10

Example Commands

# Download a file with range support
$ evo_downloader download http://images.cocodataset.org/annotations/image_info_test2014.zip --folder example_folder --num-threads 10

# Download a file without range support
$ evo_downloader download https://github.com/maycuatroi/evo_downloader/archive/refs/heads/main.zip --folder example_folder --num-threads 10

download_example.py

This example demonstrates how to use the Downloader class to download files programmatically.

GUI Usage

You can also use edownload to launch the GUI.

$ edownload gui

The GUI allows you to input multiple download links and select the output folder. It also displays the download progress.

Testing

To run tests, you need to install the testing dependencies, including pyqt6.

pip install -r requirements-test.txt

Then, you can run the tests using pytest.

pytest

Evo Downloader developed with ❤️ by maycuatroi

About

Python downloading library that enhance your download speed

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published