Skip to main content

Python downloading library that enhances your download speed

Project description

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

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

evo_downloader-1.0.9.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

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

evo_downloader-1.0.9-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file evo_downloader-1.0.9.tar.gz.

File metadata

  • Download URL: evo_downloader-1.0.9.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evo_downloader-1.0.9.tar.gz
Algorithm Hash digest
SHA256 27dd2d9c0eddf2374d38ebdce2dab270d211027498ebb54678ac2cae820913a2
MD5 b08701680dfa0c69af94ea21664336f7
BLAKE2b-256 3a2433d096901aa4b5e8d40291fa76cce7ba90b204e0f21d583a05607d60a37c

See more details on using hashes here.

File details

Details for the file evo_downloader-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: evo_downloader-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evo_downloader-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 257e29845bb1cbf99b1c36821d535b2a10a8eaefcd4c0c094760cdaefcfd5287
MD5 784fc761f7bb8741b40034e759cd355d
BLAKE2b-256 8f2a6c85955703f9915759fcf66cb7ec3de19eb43416424b804c51fb7b8af7a2

See more details on using hashes here.

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