A high-performance Rust-powered alternative to TQDM.
Project description
Vibe Loader
New!
Rust
Have the visuals of Loading(), with the speed of TQDM
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 | Total Time | Iterations/sec | Speed Factor |
|---|---|---|---|
| MinLoad | 0.0989s | 5,063,945 it/s | 1.45x Faster |
tqdm |
0.1436s | 4,320,390 it/s | 1.00x (Baseline) |
RustBar (Rust) |
0.1480s | 3,490,749 it/s | 0.97x |
Loading (Legacy) |
0.5197s | 962,297 it/s | 0.28x |
Test Conditions: Measured over 500,000 iterations on a standard Python loop.
MinLoad() is better than Loading() in speed, Loading() is better for aesthetics.
RustBar() (Rust) gives you the best of both worlds: high performance with rich visuals.
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 git+https://github.com/domm-hub/vibe-loadbar
Example Usage for Loading:
from vibe_load import Loading, SmoothStyle
from vibe_load.themes import garden
import time
for i in Loading(range(1000), style=SmoothStyle(), theme=garden):
time.sleep(0.01)
with Loading(range(1000), style=SmoothStyle()) as pbar:
for i in pbar:
time.sleep(0.01)
#These loops should take ~10 seconds
Example Usage for MinLoad:
from vibe_load import MinLoad
import time
for i in MinLoad(range(1000)):
time.sleep(0.01)
with MinLoad(range(1000)) as pbar:
for i in pbar:
time.sleep(0.01)
Links
Check out the repository here: vibe-loadbar on GitHub
PyPi Module link: vibe-loadbar on PyPI
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 Distribution
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-1.0.0.tar.gz.
File metadata
- Download URL: vibe_loadbar-1.0.0.tar.gz
- Upload date:
- Size: 186.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ade8bce532fa44f4360b7a169e6a8645a6697b68ccce7b542e49c1d833aa4f2c
|
|
| MD5 |
5952560a4e17b42f957b55fab0d59e61
|
|
| BLAKE2b-256 |
02bd3206862066f04a00a2ec190462ff1118cc62388fdf1b546f5fd815f895d7
|
File details
Details for the file vibe_loadbar-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: vibe_loadbar-1.0.0-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 |
7bd0d937cb04c76637d1c853ab9ba9375fba4f418f146076a2297cbbf568e192
|
|
| MD5 |
bd58effd4f3ee704e4c119d82ca19a65
|
|
| BLAKE2b-256 |
3359790e5144f762abc439679f5ef37242e4814cb85b2672c1174262f9715327
|