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
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 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.0.tar.gz
(36.9 kB
view details)
Built Distribution
File details
Details for the file persepolis_lib-1.0.0.tar.gz
.
File metadata
- Download URL: persepolis_lib-1.0.0.tar.gz
- Upload date:
- Size: 36.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecd900fcd1183585a098dd91d802d5f1204ddb302dcca05600a42052d62f4d60 |
|
MD5 | 34749d1f888d6d3724a2a670ae730d51 |
|
BLAKE2b-256 | 9117a00f72c77d5bcd59b696bd0eae28e68881f4ea7b158598ecd12052b5c6ee |
File details
Details for the file persepolis_lib-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: persepolis_lib-1.0.0-py3-none-any.whl
- Upload date:
- Size: 36.9 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 | 336b99e6c573af4a06ab60179b28fde90e8e1cb9de62be22eede499f15a3bf3d |
|
MD5 | cb62cc655744ca0234cf0488f7c0522c |
|
BLAKE2b-256 | 2c6b40d29a00e1985194b500859b88f00a7e87655cf35f54fff52e03bafec320 |