Skip to content

theeko74/loadingbar

Repository files navigation

Python Loading Bar

Travis Test

Python module to display a nice loading bar in a terminal window.

Install

Go to the module directory and run:

$ pip install setup.py

Or:

$ python3 setup.py install

Getting Started

There are 3 different loading bar:

  1. Standard loading bar
  2. Loading bar with size loaded, speed and remaining time
  3. Loading bar with infos above plus a custom message (usefull to display a verbose loading bar)

Option 1

Standard loading bar without any other infos.

Loading bar option 1

import loading
total_file_size = 1000
# Create a loading bar object with total_file_size in bytes
lb = loadingbar.LoadingBar(total_file_size)

# For every piece of file
for chunk in file:
  # Update the loading bar with the len of new data
  lg.update(len(chunk))

# When finished, display a 100% loading bar
lg.done()

Option 2

Standard loading bar with infos such as size downloaded, speed, eta.

Loading bar option 2

import loading
total_file_size = 1000
lb = loadingbar.InfoLoadingBar(total_file_size)
# Run as above

Option 3

This special InternetLoadingBar smooth the speed calculation by taking the overall average time rather than a instant speed.

import loading
total_file_size = 1000
lb = loadingbar.InternetLoadingBar(total_file_size)
# Run as above

Option 4

Loading bar that displays a message, like for example the filename that it is downloaded. Two options:

  • loadingbar.MessageLoadingBar
  • loadingbar.VerboseLoadingBar

Loading bar option 3

import loading
total_file_size = 1000
lb = loadingbar.VerboseLoadingBar(total_file_size)

# For every piece of file
for chunk in file:
  # Update the loading bar with the len of new data
  lg.update(len(chunk), "Message to be displayed, such as filename, etc.")

# When finished, display a 100% loading bar
lg.done()

Option 5

Add a percentage after the loading bar.

  • loadingbar.PercentageLoadingBar(tot_size) Loading bar option 5-1

  • loadingbar.PercentageInfoLoadingBar(tot_size) Loading bar option 5-2

Option 6

Add a percentage after the loading bar.

  • loadingbar.PercentageBeforeLoadingBar(tot_size) Loading bar option 6-0

  • loadingbar.PercentageBeforeLoadingBarAndInfo(tot_size) Loading bar option 6-1

Customization

If a new and custom loading bar is needed, you can implement a new one by inheriting from the LoadingBar class or the abstract class ILoadingBar. See loading > loading_bar.py for examples.

License

MIT license. Feel free to use, share, or improve it.

Releases

No releases published

Packages

No packages published

Languages