Python Downloader Demo
Build a powerful python based downloader app.
Requirements
- python>=3.6
- requests
- tqdm
- retry
- hashlib
- multitasking
- signal
- gooey (GUI only / check the Github repo)
Example, create a test.py file with the following code to download the tensorflow git repo (about 76 MB) and the gitignore git repo (about 100KB)
The run function will return the md5 of the downloaded file for checking purposes.
from pySpeedDownloader import pydownloader
url = "https://github.com/tensorflow/tensorflow/archive/refs/heads/master.zip"
file_name = "tensorflow-master.zip"
output_dir = "download/tf"
file_md5 = pydownloader.run(url, file_name, output_dir)
print(file_md5)
url = "https://github.com/github/gitignore/archive/refs/heads/master.zip"
file_name = "gitignore-master.zip"
output_dir = "download/gitignore"
file_md5 = pydownloader.run(url, file_name, output_dir)
print(file_md5)
Bash command window output will be like:
❯ python test.py
Downloading tensorflow-master.zip...
Downloading: tensorflow-master.zip: 76029696it [00:21, 3457111.70it/s]
dd8bfb4bab14f81742574bbe19aae8a6
Downloading gitignore-master.zip...
Downloading: gitignore-master.zip: 103808it [00:02, 35557.32it/s]
8c0224157f4748eead1423530f52f401
If you re-run the code again, it will ask you if you want to overwrite the existing files.
❯ python test.py
Downloading tensorflow-master.zip...
⛔️ download/tf/tensorflow-master.zip already exists, overwrite it?? (Y/N): N
dd8bfb4bab14f81742574bbe19aae8a6
Downloading gitignore-master.zip...
⛔️ download/gitignore/gitignore-master.zip already exists, overwrite it?? (Y/N): N
8c0224157f4748eead1423530f52f401
Metadata
Release files for pySpeedDownloader 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pySpeedDownloader-0.1.2.tar.gz | 145.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pySpeedDownloader-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 151.2 kB
Release files / pySpeedDownloader-0.1.2.tar.gz
| Download URL | pySpeedDownloader-0.1.2.tar.gz |
|---|---|
| Size | 145.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cfdd702901e3c516965a5aa8443b07c105a7d3873c85a9a297a39b4afac6271c
|
|
BLAKE2b-256 checksum How to use checksums |
9118b0f8519c79ce1cdb6f2824a506c205b2cd320395c40dbea73fbf0420a4ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10
|
Release files / pySpeedDownloader-0.1.2-py3-none-any.whl
| Download URL | pySpeedDownloader-0.1.2-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27757b30b9865d717ff80d6aaf065cbbfd0cab36684d05c57855bdc21c967d65
|
|
BLAKE2b-256 checksum How to use checksums |
01a81a1e19041c8793a8a68dce1e4a5832ae32a596992b7ce140aee3732326a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10
|