https://github.com/schlopp96/PyLoadBar
Customizeable loading sequence/progress bar generator, enabling users to customize start/finish messages, toggle sequence type, and set total iterations among other features.
https://github.com/schlopp96/PyLoadBar
load load-sequence loader loading loading-sequence module package progress progress-bar progressbar python python3 tqdm
Last synced: 3 months ago
JSON representation
Customizeable loading sequence/progress bar generator, enabling users to customize start/finish messages, toggle sequence type, and set total iterations among other features.
- Host: GitHub
- URL: https://github.com/schlopp96/PyLoadBar
- Owner: schlopp96
- License: gpl-3.0
- Created: 2022-02-17T05:34:00.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-16T05:33:55.000Z (about 1 year ago)
- Last Synced: 2024-11-06T07:19:59.762Z (11 months ago)
- Topics: load, load-sequence, loader, loading, loading-sequence, module, package, progress, progress-bar, progressbar, python, python3, tqdm
- Language: Python
- Homepage:
- Size: 188 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PyLoadBar
> _**Loading sequence/progress bar generator with options for users to customize start/finish messages, toggle between bar/text sequences, and set total iterations among other features.**_
---
## About
- Useful for small intermittent pauses between console text returns, or visualizing the progress of a long-running process.
- Users can choose between two different loading sequences:
- **A.** _Progress-bar_ style loading sequence
- **B.** _Animated-text_ style loading sequence- When instantiating a `PyLoadBar` object, you may set the type of loading sequence using the `bar_sequence: bool` parameter.
- Once initialized, run the loading sequence using the `start()` method, and set sequence configuration using parameters.
- Messages can be customized by passing custom strings to the `msg_loading: str` and `msg_complete: str` parameters respectively.
- The loading message defaults to `"Loading..."`
- The completion message defaults to `"Done!"`- You may apply a label to the progress bar using the `label: str` parameter (defaults to `None`).
- **NOTE:** `bar_sequence: bool` must be set to `True` for a label to be assigned to the progress bar.
- If `bar_sequence: bool` is `False`, the _progress-bar sequence_ will **not** be used, and the _animated text-based_ loading sequence **will** be used instead.
- When calling the `start()` method and using the _progress-bar_ sequence, the time taken to complete each iteration can be determined using the `min_iter: float` and `max_iter: float` parameters.
- Each iteration length is randomized to a value between `min_iter: float` and `max_iter: float` seconds.
- e.g. `start(min_iter=0.5, max_iter=1.5)` would take anywhere between 0.5 - 1.5 seconds to complete a single iteration.- The _text-based_ loading sequence displays the loading message followed by incrementing dots, all printed to the same line.
- Set number of seconds to complete a single text-sequence iteration using `txt_iter_speed: float`.
- Defaults to `0.5` seconds per animation cycle.---
## Installing PyLoadBar
### Using pip
> _Easiest_ method. Highly recommended over manual installation.
- Run the following to install:
```shell
pip install PyLoadBar
```- You should now be able to import `PyLoadBar` directly to your application.
---
### Manual Installation
> _Not_ recommended.
**1a.** Download the latest source code `.zip` archive from the PyLoadBar GitHub [releases](https://github.com/schlopp96/PyLoadBar/releases/latest) page and extract contents to the desired location.
- **OR:**
**1b.** Clone repository with the git client of your preference with:
```shell
gh repo clone schlopp96/PyLoadBar
```**2.** Navigate to the directory containing extracted contents, and open said folder within a terminal.
**3.** Enter `pip install -r requirements.txt` to install all dependencies for this package.
**4.** Finally, move the `"PyLoadBar-Vx.x.x"` directory to your global Python 3rd-party package installation directory to be able to import `PyLoadBar` like any other module:
- `"~Python/Lib/site-packages/HERE"`
**5.** Done!
---
## Usage
- `PyLoadBar` is _very_ simple to use.
- Within a `.py` project, simply import the `PyLoadBar` module to start using your custom loading sequence.
- Example of standard loading sequence with `label` set to `'Solving'`:
```python
>>> from PyLoadBar import PyLoadBar>>> important_bar = PyLoadBar() # Initialize a new `PyLoadBar` instance.
>>> important_bar.start(msg_loading='Important Stuff Happening', msg_complete='Day Saved!', label='Saving Day', min_iter=0.05, max_iter=1.0, iter_total=10) # Call `start` method to begin loading sequence.
```

- Example of animated-text-based loading sequence:
```python
>>> from PyLoadBar import PyLoadBar>>> bar = PyLoadBar(bar_sequence=False) # Initialize loading sequence.
>>> bar.start(msg_loading='Loading', msg_complete='Done!', iter_total=1, txt_iter_speed=1) # Start animated-text loading sequence.
```

---
## Contact
- If you have any questions, comments, or concerns that cannot be addressed through the [project's GitHub repository](https://github.com/schlopp96/PyLoadBar), please feel free to contact me through my email address:
- `schloppdaddy@gmail.com`
---