Skip to main content

A very fast downloader module that is based on pyCurl and multithreading.

Project description

A very fast downloader module that is based on pyCurl and multithreading.

You can pause, resume, stop and retry your downloads. If you run into issues with pyCurl installation, try:

env PYCURL_SSL_LIBRARY=openssl LDFLAGS="-L/path/to/openssl-parent-libdir" CFLAGS="-I/path/to/openssl-parent-include-dir" pip3 install --no-cache-dir --compile --ignore-installed pycurl

Example code:

from pyFunloader import Funload, humanize

import asyncio

async def test():
    action = Funload(
        url="https://proof.ovh.net/files/1Gb.dat",
        destination="downloads/", # optional, / at the end is necessary for directory detection
        progress_bar=True, # optional
        in_memory=False, # optional, if true, file can be acquired by action.memory_file afterwards
        block=False, # optional
        timeout=10, # optional
        useragent="Some user agent", # optional
        buffer=20000 # optional
    )

    await action.start()

    while True:
        print(
f"""
File: {action.destination}
Size: {humanize(action.file_size)}
Downloaded: {humanize(action.downloaded)}
Speed: {action.speed}
Estimate: {action.estimate}
Elapsed Time: {action.elapsed_time}
Status: {action.status}
Percentage: {action.percentage}
"""
        )

        if action.is_finished:
            break

        await asyncio.sleep(1)

asyncio.run(test())

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

pyfunloader-1.0.3-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file pyfunloader-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: pyfunloader-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pyfunloader-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 52f999018c33e236b2912dc72a29f6c31a847f7b103855af543f38dad73f9065
MD5 818ce3eac0f8230c0cc74b44531669d2
BLAKE2b-256 32f1ca0a115dd6be11f79c90d01d7e4969137513892942f309c5a66fbb9e49e5

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