A lightweight alternative to TQDM. Part of the vibe suite.
Project description
Vibe Loader
Vibe Loader is a lightweight alternative to TQDM, written in less than 250 lines of code. It uses an event-based function called update to refresh values dynamically.
Features
- 100+ Styles: Passed directly into the
Loadingobject. - Zero Dependencies: No foreign packages required.
- MARGIN Support: Optimized for small terminals to prevent layout breaking.
- Dynamic Resizing: Automatically adjusts to terminal width.
- Stream Support: Compatible with request streams.
- Context Manager: Supports
withstatements for easy lifecycle management. - Developer Friendly: All variables are public and changeable, plus support for custom styles.
Performance
The new minload is faster than tqdm.
| Library | Overhead Cost (Lower is Better) | Speed Factor | Efficiency |
|---|---|---|---|
vibe-loadbar (MinLoad) |
0.0995s | 1.76x Faster | High |
tqdm (Standard) |
0.1930s | 1.00x (Baseline) | Moderate |
Test Conditions: Measured as pure overhead (Total Time - Raw Loop Time) on a standard Python loop.
MinLoad() is better than Loading() in speed, Loading() is better for aesthetics.
Installation from PyPi.
pip install vibe-loadbar
Installation from Github. (For latest updates.)
Note: Cutting Edge updates might have errors or be unstable.
pip install -e git+https://github.com/domm-hub/vibe-loadbar
Example Usage for Loading:
from vibe_load import Loading, SmoothStyle
import time
for i in Loading(range(100), style=SmoothStyle()):
time.sleep(0.1)
with Loading(range(100), style=SmoothStyle()) as pbar:
for i in pbar:
time.sleep(0.1)
#These loops should take ~10 seconds
Example Usage for MinLoad:
from vibe_load import MinLoad
import time
for i in MinLoad(range(100)):
time.sleep(0.01)
with MinLoad(range(100)) as pbar:
for i in pbar:
time.sleep(0.1)
Links
Check out the repository here: vibe-loadbar on GitHub
Built with ❤️ by Adam Hany. Part of the Vibe Suite.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibe_loadbar-0.4.1.tar.gz.
File metadata
- Download URL: vibe_loadbar-0.4.1.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd92d40af356315451d35bb9ac6de93168a93c5285a7013dd45cb61c619b1981
|
|
| MD5 |
41f9e5d89a1af4cc77efd6efa12226e6
|
|
| BLAKE2b-256 |
b057cc92bdcd56cabb82d1ab56f02ccc21a75c6e30f8cb8ef36f7af4846463e6
|
File details
Details for the file vibe_loadbar-0.4.1-py3-none-any.whl.
File metadata
- Download URL: vibe_loadbar-0.4.1-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
589df85f0e2a5f5f9420eca9253c01d3847419395c2d225c3c0509170eca3431
|
|
| MD5 |
d1fd895bdf44c1dd97c183681da9657a
|
|
| BLAKE2b-256 |
1e1bc8ef081c24642b1d3331c3c7c89fd89d599c1d5d20cc51b11cee12e245d9
|
File details
Details for the file vibe_loadbar-0.4.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: vibe_loadbar-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 894.6 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1887b51aadc99886207d2843f65a605f6f3d840cbd1ae58f38c74a67d6992bae
|
|
| MD5 |
3b8bb99007ce3e1980fdd8a8158347f1
|
|
| BLAKE2b-256 |
9c2320ec431d4e26534854b8dc76996bf3423dc0a38df0973fc9db9752afaa74
|