Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PyDownload PyPI version Build Status codecov

This package aims to provide the functionality to download large files from the internet using chunked and multithreaded downloads.

Index

Command Line usage

The package can be used to perform multithreaded downloads via the CLI.

Usage

pyDownload https://github.com/party98/Python-Parallel-Downloader/archive/master.zip

Config Options

positional arguments:
  url                   list of urls to download

optional arguments:
  -h, --help            show this help message and exit
  -o FILENAME, --output FILENAME
                        output file
  -t NUM_THREADS, --threads NUM_THREADS
                        number of threads to use
  -c CHUNK_SIZE, --chunk-size CHUNK_SIZE
                        chunk size (in bytes)
  --version             display the version of pyDownload being used

Features

  • Written in pure python.
  • Supports ability to perform multithreaded downloads from any url if the server supports.
  • Small and concise API therefore easy to integrate in python code.

Installation

pip install pydownload

Usage

import time
from pyDownload import Downloader

url = 'https://github.com/party98/Python-Parallel-Downloader/archive/master.zip'
downloader = Downloader(url=url)
if downloader.is_running:
    time.sleep(1)
print('File downloaded to %s' % downloader.file_name)

Developer Guide

Setting Up The Environment

  • pip install virtualenv
    virtualenv env
    source ./env/bin/activate
    
  • Install Dependencies

    pip install .[dev]
    
  • Install pre-commit hooks

    The project uses various pre-commit hooks to enforce code quality and standards. Therefore, it is really necessary for all the contributors to install these and run before every commit else the contributions will be rejected.

    Steps
    pre-commit install
    

Running Tests

  • Install Dependencies

    pip install .[test]
    
  • Run the Tests

    • nosetests --cover-erase --cover-package=pyDownload --with-coverage --cover-branches
      
    • Without Coverage Report

      nosetests --cover-erase --cover-package=pyDownload  --cover-branches
      

Bug Reporting Guide

You can report bugs here.

  • Make sure you are using the latest version. (Check by running pyDownload --version).
  • Search for the issue in existing issues (open & closed) and create only if the issue is not mentioned.
  • Fill the issue template correctly.

Note: If you feel that you can fix the issue, you are more than welcome to submit a PR.

Contribution Guide

Contributors are welcome to make this package more awesome. But before you do, make sure that you have read the following limited but important guidelines.

  • Make sure that the issue that you are trying to fix exists here. Create one if it does not.
  • Make sure that you perform flake8 checks on the code before you submit a PR.
  • Write unittests and comments for the changes that you have made.
  • Make sure your branch is updated with the development branch.
  • All PRs should be submitted to development branch. PRs to any other branch will be rejected.
  • Please install and perform pre-commit check on all your commits to maintain code quality

SayThanks

You can thank the team here.

Metadata

Release files for pyDownload 0.0.1.dev4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyDownload 0.0.1.dev4
File Size Uploaded Provenance Actions
pyDownload-0.0.1.dev4.tar.gz 6.2 kB Without provenance Details for pyDownload-0.0.1.dev4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyDownload 0.0.1.dev4
File Interpreter ABI Platform Actions
pyDownload-0.0.1.dev4-py2.py3-none-any.whl Python 2, Python 3 none any Details for pyDownload-0.0.1.dev4-py2.py3-none-any.whl

Total release size: 13.3 kB

Release files / pyDownload-0.0.1.dev4.tar.gz

Download URL pyDownload-0.0.1.dev4.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e3470cc2607cbbf1ba345853f651035fa56bb452900c3d0d0c0bd7dd744539de
BLAKE2b-256 checksum
How to use checksums
214f065cfd16191cad1adbacd1b65df47322be7b3186b1abad244ecfa59ba217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyDownload-0.0.1.dev4-py2.py3-none-any.whl

Download URL pyDownload-0.0.1.dev4-py2.py3-none-any.whl
Size 7.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
1b2b37846bdd30293b332b4c434578cd73b8a5a0a182f73203fc8ad0c213a836
BLAKE2b-256 checksum
How to use checksums
c644d9478878314dcb5470942b48150bf1121e2f1ae0d37bc9fcf9e448045167
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for pyDownload 0.0.1.dev4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page