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.6.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.6-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: barre-1.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 b823ab5a4782553638c1cd7e4999d1ebc0b27d13837179768a2fc2d7a8220d0f
MD5 14f75d90ff3841519066c09dac3cc27c
BLAKE2b-256 41571a358c6ed315c81cb912f90aad655e422eb4db8da835cf13baf165c8ff0c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: barre-1.0.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4739e728dcbf8d54e784df4079c63dc7b4f11879841b4ff4e559c7e1829e878d
MD5 1b2e7a40f2cb28db4c5946d2fa27de5a
BLAKE2b-256 00e3e7345e96a524ce8754669ae6d3f28282fff9fca04fd13c346c947619cd51

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