Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dlbar

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dlbar

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

  • 1.0.0
  • PyPI
  • Socket score

Maintainers
1

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

FAQs


Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc