Skip to main content

A progress bar generator.

Project description

Proggy

Progressively progressing through progress bar generation.

Proggy generates text-based progress bars. Mildly inspired by Rust's indicatif.

Proggy only renders progress bars to a string. Displaying them is, as of now, not handled and left to the user.

Examples

API usage

>>> from proggy import ProgressBar
>>> pb = ProgressBar(30, 100, progress=75)
>>> pb.render()
'⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇       '

CLI output

Single progress bar (test.py):

import time

from proggy import BarInfo
from proggy.tty import TTYProgressBar


with TTYProgressBar(BarInfo(size=30, total=100)) as p:
    for i in range(100):
        time.sleep(0.1)
        p.progress += 1

Output:

test.py output

Multi-progress bar with asyncio (async_test.py):

from asyncio import ensure_future, run, sleep

from proggy import BarInfo, LogicalProgressBar
from proggy.types import ProgressBar
from proggy.tty import TTYMultiProgressBar


async def task1(p: ProgressBar):
    for _ in range(100):
        await sleep(0.1)
        p.progress += 1


async def task2(p: ProgressBar):
    for _ in range(50):
        await sleep(0.1)
        p.progress += 1


async def main():
    with TTYMultiProgressBar(bar_infos=[
        BarInfo(size=30, total=100),
        BarInfo(size=30, total=50),
    ]) as mp:
        x = ensure_future(task1(mp.bar_at(0)))
        await task2(mp.bar_at(1))
        await x

run(main())

Output:

async_test.py output

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

proggy-0.4.3.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

proggy-0.4.3-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file proggy-0.4.3.tar.gz.

File metadata

  • Download URL: proggy-0.4.3.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/3.8.1 Linux/5.5.5-arch1-1

File hashes

Hashes for proggy-0.4.3.tar.gz
Algorithm Hash digest
SHA256 f6b3196c71520cb8a3a56a7396156525e785c2c5ae2f49f7573216157302ea7b
MD5 aafbc64c3e97d8344e73d6475aa1aa3a
BLAKE2b-256 4745f940a269f30058d2b7a303bea6f47718c085ed6219ab51b79ffc48a6232d

See more details on using hashes here.

File details

Details for the file proggy-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: proggy-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/3.8.1 Linux/5.5.5-arch1-1

File hashes

Hashes for proggy-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4afd05278588ee6b7309de897e5868a45159cbb78b005439b707a3a60c313e28
MD5 3fe8d0589fe586f34d66df93199e5e80
BLAKE2b-256 fbaef7dbd636eb8f03a32fa6ac0a27b82dc8236d803f03060b310db52950babd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page