Skip to content

Latest commit

 

History

History
98 lines (78 loc) · 2.5 KB

File metadata and controls

98 lines (78 loc) · 2.5 KB

GitHub License GitHub file size in bytes PyPI - Version PyPI - Downloads Pepy Total Downloads

Logo tinyprogress

TinyProgress is a minimal and lightweight progress bar module for Python. It provides an easy way to track progress in loops and iterables without requiring external dependencies.

bars

🚀 Features

  • ✅ Simple and lightweight (no external dependencies)
  • ✅ Customizable progress bar length and characters
  • ✅ Supports named tasks
  • ✅ Works with any iterable

📦 Installation

Since TinyProgress is a single-file module, you can simply copy tinyprogress.py into your project.

Alternatively, install it via pip (once published to PyPI):

pip install tinyprogress

🛠 Usage

Basic Progress Bar

from tinyprogress import progress
import time

for i in progress(range(100)):
    time.sleep(0.05)  # Simulating work

Custom Progress Bar Length

for i in progress(range(100), bar_length=50):
    time.sleep(0.05)

Named Task Progress Bar

for i in progress(range(100), task_name="Downloading"):
    time.sleep(0.05)

Using Custom Characters

for i in progress(range(100), fill_char='#', empty_char='-'):
    time.sleep(0.05)

Using Custom Colors

def bar_color(progress: float) -> str:
    if progress < 0.7:  # 70%
        return '\033[31m'
    return '\033[32m'

def text_color(progress: float) -> str:
    return '\033[35m'


for i in progress(
    range(100),
    task_name='Colored bar',
    fill_char='—',
    start_char=' ',
    end_char=' ',
    bar_color=bar_color,
    text_color=text_color
):
    time.sleep(0.05)

You can also use the Colorama module to set the colors.

from colorama import Fore

def bar_color(progress: float) -> str:
    if progress < 0.7:  # 70%
        return Fore.RED
    return Fore.GREEN

#...

🤝​ Contributing

First of all, thank you if you are interested in contributing to this project. To contribute, please carefully read the CONTRIBUTING file and follow its guidelines.

📜 License

GNU General Public License v3, see LICENSE file.