Skip to main content

An easy-to-use and colorful progress bar for python.

Project description

Pyprobar

image image image image

A beautiful , fast, easy-to-use progress bar for python.

Installation

pip install pyprobar

nightly build:

python setup.py install

Synopsis

28.71% |████████>>>>>>>>>>>>>>>>>  | 0:00:22|0:00:31 ETC: 05-20 18:08:15

Performance

For 10000000 loops:

probar: # this repo
100.00%|█████████████████████████████| 0:00:00|0:00:02  ETC: 06-07 12:08:03

bar: # this repo
100.00%|█████████████████████████████| 0:00:00|0:00:03  ETC: 06-07 12:11:15

tqdm:
100%|██████████| 10000000/10000000 [00:03<00:00, 2634907.84it/s]

progressbar:
100% (10000000 of 10000000) |############| Elapsed Time: 0:00:46 Time:  0:00:46

Usage

Use probar or bar for different situations:

probar:

from pyprobar import bar, probar
import time

for idx, x in probar(range(1234), enum=True): 
    time.sleep(0.02)
>>> 18.31%|█████>>>>>                  | 0:00:20|0:00:25  ETC: 05-20 19:00:39

Or used in List comprehension:

res = [i for i in probar(range(10))]
print(res)
>>> 100.00%|███████████████████████████| 0:00:00|0:00:00 ETC: 05-20 12:14:33
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

bar:

import numpy as np
N = 1024
a = np.linspace(2, 5, N)
for idx, i in enumerate(a):
    time.sleep(0.01)
    bar(idx, N)
>>> 100.00% |███████████████████████████| 0:00:00|0:00:10  ETC: 05-20 20:33:34 

You can set your own progress bar by using the parameters symbol_1 and symbol_2 :

for i in probar(range(1234), symbol_2="o"):
    time.sleep(0.01)
>>> 23.10%|██████ooooooooooooooooooo    | 0:00:10|0:00:14  ETC: 05-20 17:29:57

Tip: Searchcharmap in win10 start menu, you can find a lot of interesting characters.

Supports progress bars in different colors:

for idx, i in enumerate(a):
    bar(idx, N, color='1') # `color` options: '1','2','3','4','5','0','update_random'
    time.sleep(0.01)

Of course, you can also add text or variables to the progress bar:

for idx, i in enumerate(a):
    text = f"what you want see is {x}"
    bar(idx, N, text=text)

multi-line text :

for idx, i in enumerate(a):
    text = f"{v1}, frame:{idx}\n"
    bar(idx, N, text=text)
multi_text

Specify the time zone:

for i in enumerate(a):
    bar(idx, N, time_zone="Asia/Shanghai")

print RGB color string:

from pyprobar.styleString import rgb_str
    text = rgb_str("I'm green!", RGB_fore=[0,255,0])
    print(text)

TODO

  • Thread problem with probar() in jupyter notebook
  • Thread problem with bar() in jupyter notebook
  • Speed of information
  • Multithreading

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

pyprobar-0.1.2.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

pyprobar-0.1.2.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file pyprobar-0.1.2.0.tar.gz.

File metadata

  • Download URL: pyprobar-0.1.2.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for pyprobar-0.1.2.0.tar.gz
Algorithm Hash digest
SHA256 77b6cc143050821fbeb23ad7952887affa924a872f19af9525312720526d9d67
MD5 8f431eecbe226baceb26e1cee90e21b6
BLAKE2b-256 8575092a27b0a54f038849fb8ddfb9791ff8d150f03090b432a3d3db7c240848

See more details on using hashes here.

File details

Details for the file pyprobar-0.1.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyprobar-0.1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for pyprobar-0.1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 43962b1f95ca5a3ed3e0ae5ddbe854e964040824e5e65df3e27319d2c790d961
MD5 2403f8fe96066cf3bb5204f664b5a3b5
BLAKE2b-256 a3d247914f64dd81533b81ce7e530b8dea17d1e52ffeacf4180a61939adf0917

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