https://github.com/theeko74/loadingbar
A loading bar for a terminal window
https://github.com/theeko74/loadingbar
loading-bar python2 python3 terminal-based
Last synced: 9 months ago
JSON representation
A loading bar for a terminal window
- Host: GitHub
- URL: https://github.com/theeko74/loadingbar
- Owner: theeko74
- License: mit
- Created: 2018-02-19T16:42:05.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-06-11T15:26:46.000Z (10 months ago)
- Last Synced: 2025-06-15T13:08:08.493Z (10 months ago)
- Topics: loading-bar, python2, python3, terminal-based
- Language: Python
- Homepage:
- Size: 414 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Python Loading Bar
=====================

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.

```python
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.

```python
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.
```python
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`

```python
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)`

* `loadingbar.PercentageInfoLoadingBar(tot_size)`

## Option 6
Add a percentage after the loading bar.
* `loadingbar.PercentageBeforeLoadingBar(tot_size)`

* `loadingbar.PercentageBeforeLoadingBarAndInfo(tot_size)`

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.