Metadata-Version: 2.4
Name: brewbar
Version: 1.2.2
Summary: A progress bar for Python that brews beer while your code runs
Project-URL: Homepage, https://github.com/Harish-SN/brewbar
Project-URL: Repository, https://github.com/Harish-SN/brewbar
Project-URL: Issues, https://github.com/Harish-SN/brewbar/issues
Author-email: Harish <snharish85@gmail.com>
License: MIT
License-File: LICENSE
Keywords: beer,fun,progress,progress-bar,terminal
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Shells
Classifier: Topic :: Terminals
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# 🍺 brewbar

A progress bar for Python that **brews beer while your code runs**

No configuration | No dependencies | CI-safe | Just beer

---

## 🍻 Demo
```python
from brewbar import bar
import time

for _ in bar(range(50)):
    time.sleep(0.05)
```

**Output:**
```
🍺🍺🍺🍺░░░░  50%  fermenting
```
![brewbar demo](https://raw.githubusercontent.com/Harish-SN/brewbar/main/images/demo.png)

As progress increases, the beer fills and the brew stage changes:

- mashing
- boiling
- fermenting
- conditioning
- cheers 🍻

## 📦 Installation
```bash
pip install brewbar
```

## 🍺 Usage
```python
from brewbar import bar
import time

for _ in bar(range(100)):
    time.sleep(0.1)
```

## ✨ Features

- 🍺 Beer-brewing themed progress bar
- 🧠 Simple API (`bar(iterable)`)
- ⚡ Lightweight (no dependencies)
- 🖥 Works in standard terminals
- 🤖 Auto-disables in CI / non-TTY environments

## What’s new in v1.2.2
### ETA & Speed
```
ETA 00:08  |  12.5 it/s
```
### ASCII mode (CI-safe)
```python
bar(range(100), ascii=True)
```
```
Output:
    ##########  100%  cheers 🍻
```
### Disable output completely
```python
bar(range(100), disable=True)
```
### Log to stderr
```python
bar(range(100), file=sys.stderr)
```
### Manual update mode
For non-iterable workflows:
```python
from brewbar import BrewBar
import time

with BrewBar(total=10, elapsed=True, rate=True) as b:
    for _ in range(10):
        time.sleep(0.2)
        b.update()
```
### Unknown total = spinner mode
```python
for _ in bar(iter(int, 1)):
    time.sleep(0.05)
```
```
Displays:
    ⠙ brewing...
```
### Nested progress bars
```python
for _ in bar(range(3), elapsed=True):
    for _ in bar(range(10), rate=True):
        ...
```
### Beer-color mode 🎨
```python
# default beer color (yellow)
bar(range(50), color=True)

# explicit colors
bar(range(50), color="red")
bar(range(50), color="green")
bar(range(50), color="blue")
bar(range(50), color="yellow")
```
## 🛠 Requirements

- Python 3.8+

## ❓ Why brewbar?

Because sometimes you don't want:
- ❌ giant APIs
- ❌ heavy deps
- ❌ walls of logs

You just want to know when your code is done…  
and have a beer while waiting. 🍻

## Example with timing options

```python
from brewbar import bar
import time

for _ in bar(
    range(200),
    eta=True,
    elapsed=True,
    rate=True,
    ascii=True,
):
    time.sleep(0.05)
```