Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
dlbar is a simple terminal progress bar for downloading and displaying download progress.
dlbar is a simple terminal progress bar for downloading and displaying download progress.
You can use this module to download files and display the download progress bar in your Python projects.
You can use pip to install:
python3 -m pip install dlbar
To use the dlbar module, you must import it:
from dlbar import DownloadBar
download_bar = DownloadBar()
download_bar.download(
url='https://url',
dest='/a/b/c/downloaded_file.suffix',
title='Downloading downloaded_file.suffix'
)
Output:
Downloading downloaded_file.suffix
43% █████████████████████----------------------------- 197.777 MB/450.327 MB
You have many options to customize your download bar.
Pay attention to the following example on how to change the characters of the download bar:
from dlbar import DownloadBar
download_bar = DownloadBar(
empty_char='.',
filled_char='>'
)
download_bar.download(
url='https://url',
dest='/a/b/c/downloaded_file.suffix',
title='Downloading downloaded_file.suffix'
)
Output:
Downloading downloaded_file.suffix
63% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>................... 284.590 MB/450.327 MB
You can even use ANSI codes to color the download bar characters:
from dlbar import DownloadBar
download_bar = DownloadBar(
empty_char=f"\033[31m{chr(9472)}\033[0m",
filled_char=f"\033[32m{chr(9472)}\033[0m"
)
download_bar.download(
url='https://url',
dest='/a/b/c/downloaded_file.suffix',
title='Downloading downloaded_file.suffix'
)
Output:
You can also change the width of the download bar (any number greater than or equal to 10 is valid):
from dlbar import DownloadBar
download_bar = DownloadBar(width=35)
download_bar.download(
url='https://url',
dest='/a/b/c/downloaded_file.suffix',
title='Downloading downloaded_file.suffix'
)
Output:
Downloading downloaded_file.suffix
12% ████------------------------------- 54.512 MB/450.327 MB
You can even hide the percentage or progress status of the download:
from dlbar import DownloadBar
download_bar = DownloadBar(percent=False)
download_bar.download(
url='https://url',
dest='/a/b/c/downloaded_file.suffix',
title='Downloading downloaded_file.suffix'
)
Output:
Downloading downloaded_file.suffix
█████████████████████----------------------------- 197.777 MB/450.327 MB
You can also deal with attributes in the form of properties and change their values after creating an instance:
from dlbar import DownloadBar
download_bar = DownloadBar()
download_bar.status = False
download_bar.filled_char = '#'
download_bar.download(
url='https://url',
dest='/a/b/c/downloaded_file.suffix',
title='Downloading downloaded_file.suffix'
)
Output:
Downloading downloaded_file.suffix
43% #####################-----------------------------
dlbar is a free and open source project under the MIT license. You can easily use dlbar and contribute if you have an idea for development.
Thank you
FAQs
dlbar is a simple terminal progress bar for downloading and displaying download progress.
We found that dlbar demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.