Skip to main content

A lightweight alternative to TQDM. Part of the vibe suite.

Project description

Vibe Loader

Vibe Demo

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 Loading object.
  • 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 with statements 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

MinLoad Speed

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

vibe_loadbar-0.4.1.tar.gz (11.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vibe_loadbar-0.4.1-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

vibe_loadbar-0.4.1-cp312-cp312-macosx_11_0_arm64.whl (894.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Hashes for vibe_loadbar-0.4.1.tar.gz
Algorithm Hash digest
SHA256 cd92d40af356315451d35bb9ac6de93168a93c5285a7013dd45cb61c619b1981
MD5 41f9e5d89a1af4cc77efd6efa12226e6
BLAKE2b-256 b057cc92bdcd56cabb82d1ab56f02ccc21a75c6e30f8cb8ef36f7af4846463e6

See more details on using hashes here.

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

Hashes for vibe_loadbar-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 589df85f0e2a5f5f9420eca9253c01d3847419395c2d225c3c0509170eca3431
MD5 d1fd895bdf44c1dd97c183681da9657a
BLAKE2b-256 1e1bc8ef081c24642b1d3331c3c7c89fd89d599c1d5d20cc51b11cee12e245d9

See more details on using hashes here.

File details

Details for the file vibe_loadbar-0.4.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vibe_loadbar-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1887b51aadc99886207d2843f65a605f6f3d840cbd1ae58f38c74a67d6992bae
MD5 3b8bb99007ce3e1980fdd8a8158347f1
BLAKE2b-256 9c2320ec431d4e26534854b8dc76996bf3423dc0a38df0973fc9db9752afaa74

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page