Skip to main content

dlbar is a simple terminal progress bar for downloading and displaying download progress.

Project description

pypi license

img1

Table of contents:

Introduction

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.

Installation

You can use pip to install:

python3 -m pip install dlbar

How to use 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

Customize the download bar

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: img1

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% #####################-----------------------------

Contribution

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dlbar-1.0.0.tar.gz (5.3 kB view hashes)

Uploaded Source

Built Distribution

dlbar-1.0.0-py3-none-any.whl (6.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page