Skip to main content

Minimal progress bar

Project description

barre

PyPI version CI License: MIT

A lightweight progress bar. One line, zero config, zero dependencies.

Demo

Install

pip install barre

Usage

Simple and intuitive:

from barre import b
from time import sleep

# Simple iteration
for x in b(range(100)):
    sleep(0.1)  # your work here

# With any iterable
items = ["item1", "item2", "item3"]
for x in b(items):
    process(x)

Output:

[||||||||||||||||||||||||||||||||||||||||] 50/100

Real-world Examples

Processing Files

from barre import b
import os

# Process all images in a directory
image_files = [f for f in os.listdir("images/") if f.endswith((".jpg", ".png"))]
for file in b(image_files):
    with open(f"images/{file}", "rb") as img:
        # Your image processing here
        pass

API Requests

from barre import b
import requests

# Download multiple URLs with progress
urls = [
    "https://api.example.com/data1",
    "https://api.example.com/data2",
    "https://api.example.com/data3",
]
responses = []
for url in b(urls):
    response = requests.get(url)
    responses.append(response.json())

Data Processing

from barre import b
import pandas as pd

# Process chunks of a large DataFrame
df = pd.read_csv("large_file.csv")
chunk_size = 1000
chunks = [df[i:i+chunk_size] for i in range(0, len(df), chunk_size)]

results = []
for chunk in b(chunks):
    result = chunk.groupby('category').sum()
    results.append(result)

Long Computations

from barre import b
import numpy as np

# Heavy computations with visual feedback
matrices = []
for i in b(range(100)):
    matrix = np.random.rand(100, 100)
    result = np.linalg.eig(matrix)
    matrices.append(result)

Training ML Models

from barre import b

# Training epochs with progress
epochs = 100
for epoch in b(range(epochs)):
    model.train_epoch()
    loss = model.evaluate()

Features

  • Minimal: Single file (<1KB)
  • Fast: Zero dependencies
  • Simple: No configuration needed
  • Clean: Professional ASCII output
  • Universal: Works with any iterable

License

MIT


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

barre-1.0.5.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

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

barre-1.0.5-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file barre-1.0.5.tar.gz.

File metadata

  • Download URL: barre-1.0.5.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for barre-1.0.5.tar.gz
Algorithm Hash digest
SHA256 f11b19ba9bd30a4506df27b53f05682c5c8984dab0f5fa4adca1faacb17b4b12
MD5 5a14fa2216bf4c228df20ac7f19acba5
BLAKE2b-256 4049096735cec321ecc1b31361b2cb355829f66007c3d8d14220751eace1225c

See more details on using hashes here.

File details

Details for the file barre-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: barre-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for barre-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a07713b1f6b35fb0be87f88b1b28efed8c0a22d272212440089e25667223de3a
MD5 733fcb8678094a7401288fc980f00222
BLAKE2b-256 d1d0422bbbd998d87aa672196a7a816f3c9afdea9959ad5002d14e1ca9f4a3c0

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