A Python library for easier and faster downloading.
Project description
persepolis_lib
About
A Python library for easier and faster downloading
Features
- Multi-segment downloading(64 connections)
- Resuming downloads
Installation
persepolis_lib is available on pypi.
pip install persepolis_lib
Usage
#!/usr/bin/python3
# import Download class
from persepolis_lib.persepolis_lib import Download
# create a dictionary that contains download infromation.
download_dict = {'link': http://example.com/example.jpg, # your download link
'out': None, # You can choose a name for your file if you want. If you don't want to, choose None for its value.
'download_path': /home/example_user/Downloads, # Choose download path. You must choose valid download path!
'ip': None, # set ip of your proxy, If you don't use proxy, set None value for it.
'port': None, # set port of your proxy, If you don't use proxy, set None value for it.
'proxy_user': None, # set proxy user, If you don't use proxy, set None value for it.
'proxy_passwd': None, # set proxy pass word, If you don't use proxy, set None value for it.
'proxy_type': None, # set proxy type, http or socks5. If you don't use proxy, set None value for it.
'download_user': None, # set username, If your download link requires user name,Otherwise, set its value to ٔNone.
'download_passwd': None, # set password, If your download link requires user name and password,Otherwise, set its value to ٔNone.
'header': None, # set header if you want, Otherwise, set its value to ٔNone.
'user_agent': None, # set user-agent if you want, Otherwise, set its value to ٔNone. persepolis_lib/version is default user agent.
'load_cookies': None, # set cookies path if you want, Otherwise, set its value to ٔNone.
'referer': None} # set referrer if you want, Otherwise, set its value to ٔNone.
# persepolis supports Multi-segment downloading. set number of threads. maximum value is 64. minimum value is 1. default is 64.
segments = 64
# set python requests chunk size in KiB.
# checkout this link for more informaton. https://stackoverflow.com/questions/46205586/why-to-use-iter-content-and-chunk-size-in-python-requests
# default is 100 KiB
pytho_requests_chunk_size = 100 # KiB
# create a download session
# set timeout value in seconds. default is 5.
# set number of retries if download failed. default is 5.
# set progress_bar value to True If you want the progress bar to be shown in the console. default is False
# set threads_progress_bar to True If you want the size downloaded by each thread to be displayed in the progress bar. default is False.
download_session = Download(add_link_dictionary=download_dict, number_of_threads=segments,
chunk_size=pytho_requests_chunk_size, timeout=5, retry=5, progress_bar=False, threads_progress_bar=False)
# start download. Use thread if you want!
download_session.start()
# stop download
download_session.stop()
# pause download
download_session.downloadPause()
# Unpause
download_session.downloadUnPause()
# limit download speed.
# limit_value is between 1 to 10.
# 10 means no limit speed.
download_session.limitSpeed(5)
# get download information in dictionary format
status_dict = download_session.tellStatus()
print(status_dict)
persepolis_lib creates download file and log file and conrol file in json format with .persepolis extension in download path. control file contains download information. Persepolis_lib can resume download, If control file exists.
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
persepolis_lib-1.0.1.tar.gz
(37.6 kB
view details)
Built Distribution
File details
Details for the file persepolis_lib-1.0.1.tar.gz
.
File metadata
- Download URL: persepolis_lib-1.0.1.tar.gz
- Upload date:
- Size: 37.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e51367d793de423348a585d802cbc5d3252662dfc5ef0c0bc3f92504b2a9865b |
|
MD5 | 2c48a4c9f51669969d1fc76c26a16ef0 |
|
BLAKE2b-256 | 9e0682ffaa78f96d4ca7e9c6b364dd9b65c7f6c8aea803cbf2bbdc96e7514e5c |
File details
Details for the file persepolis_lib-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: persepolis_lib-1.0.1-py3-none-any.whl
- Upload date:
- Size: 37.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f68bfab856f0a96332b2e90061850c3a5f4b48161785356bc5b319045ca55bd4 |
|
MD5 | b3ff83549814c82a3fab10b95b658d77 |
|
BLAKE2b-256 | cd37fe4ded31a64139358d219b4c6d29ceeff874d26e469bca5facb0ae3cb4aa |