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


Made with pragmatism in France 🇫🇷

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.7.tar.gz (3.2 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.7-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: barre-1.0.7.tar.gz
  • Upload date:
  • Size: 3.2 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.7.tar.gz
Algorithm Hash digest
SHA256 03923aede4fb5183f2e5bdb3220488874ff82f3d4a669a8ca7cb5e5829c37f7e
MD5 9f95c6b171be6ae3c4a766ef23b1e837
BLAKE2b-256 2502c3d3084eba7b9d4aba40fe1ec14312109f5789af417a2ddfc1bfe7cb7fe6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: barre-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 3.4 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7293bf9172af1d3540a74b59005f3a1752f92924433ac9c854f0dd45363e39ec
MD5 1871e4e561c8059bbc431e8a7580bc61
BLAKE2b-256 51d8970fc601d3651414163f6c94abb5bc9aafa462efdba2d8763d0a0c07cb43

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