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 version:

python setup.py install

Synopsis

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

Performance

from pyprobar import probar
from tqdm import tqdm
import progressbar

N = 10000000
print("probar:")
for i in probar(range(N)):
    pass
print("bar:")
for idx,i in probar(range(N)):
	bar(idx, N)
print("tqdm:")
for i in tqdm(range(N)):
    pass
print("progressbar:")# progressbar2
for i in progressbar.progressbar(range(N)):
    pass
probar:
100.00%|█████████████████████████████| 0:00:00|0:00:02  ETC: 06-07 12:08:03

bar:
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 comprehensions:

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

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 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.1.8.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

pyprobar-0.1.1.8-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyprobar-0.1.1.8.tar.gz
  • Upload date:
  • Size: 10.9 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.1.8.tar.gz
Algorithm Hash digest
SHA256 bffe3bbac9db01fff0f814ffa7da8cdf4cc3c225649724e9cf9c108e0e465e9f
MD5 27c531962a7da0a1d36b066ca41d292f
BLAKE2b-256 d43b080b1bdc33ae5d0716a66ea05bdc2be8ad90022d4303650a07846e746e03

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyprobar-0.1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 15.8 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.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7f2b615749e5465837e62ffb78ca589df08c90a69106a23bababd99df8ce6b24
MD5 c6e050b8de09f11b47137c5064c59112
BLAKE2b-256 9757c7594f7ed71f061c542ee23a1c06ceed307fd1fbf74d37404c9043af7c30

See more details on using hashes here.

Supported by

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