A simple package for multithreaded downloading
Project description
PyDownload
This package aims to provide the functionality to download large files from the internet using chunked and multithreaded downloads.
Index
- Command Line Usage
- Features
- Installation
- Usage
- Developer Guide
- Bug Reporting Guide
- Contribution Guide
- SayThanks
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
-
Setup VirtualEnv (Recommended But Optional)
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
-
With Coverage Report (Recommended)
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyDownload-0.0.1.dev4.tar.gz
.
File metadata
- Download URL: pyDownload-0.0.1.dev4.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3470cc2607cbbf1ba345853f651035fa56bb452900c3d0d0c0bd7dd744539de |
|
MD5 | 8fc51a7044ed3d11910b80babc601833 |
|
BLAKE2b-256 | 214f065cfd16191cad1adbacd1b65df47322be7b3186b1abad244ecfa59ba217 |
File details
Details for the file pyDownload-0.0.1.dev4-py2.py3-none-any.whl
.
File metadata
- Download URL: pyDownload-0.0.1.dev4-py2.py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b2b37846bdd30293b332b4c434578cd73b8a5a0a182f73203fc8ad0c213a836 |
|
MD5 | 0f73fe2147c29e175e44a5abe9287e8f |
|
BLAKE2b-256 | c644d9478878314dcb5470942b48150bf1121e2f1ae0d37bc9fcf9e448045167 |