Version 2.X introduces new features and new interactive modes.
New features allow for previously impossible applications, see examples below.
Lightweight utility to display the progress of your process as a pretty table in the command line.
import random
import time
from progress_table import ProgressTable
# Create table object:
table = ProgressTable(num_decimal_places=1)
# You can (optionally) define the columns at the beginning
table.add_column("x", color="bold red")
for step in range(10):
x = random.randint(0, 200)
# You can add entries in a compact way
table["x"] = x
# Or you can use the update method
table.update("x", value=x, weight=1.0)
# Display the progress bar by wrapping an iterator or an integer
for _ in table(10): # -> Equivalent to `table(range(10))`
# Set and get values from the table
table["y"] = random.randint(0, 200)
table["x-y"] = table["x"] - table["y"]
table.update("average x-y", value=table["x-y"], weight=1.0, aggregate="mean")
time.sleep(0.1)
# Go to the next row when you're ready
table.next_row()
# Close the table when it's finished
table.close()
Go to integrations page to see examples of integration with deep learning libraries.
Go to advanced usage page for more information.
Progress Table works correctly in most consoles, but there are some exceptions:
\r
properly.
You can still use ProgressTable, but with interactive=0
option. This mode will not display progress bars.PyCharm Python Console
or IDLE
don't support cursor movement.
You can still use ProgressTable, but with interactive=1
option. This mode displays only 1 progress bar at once.By default
interactive=2
. You can change the defaultinteractive
with an argument when creating the table object or by settingPTABLE_INTERACTIVE
environment variable, e.g.PTABLE_INTERACTIVE=1
.
If you encounter different messy outputs or other unexpected behavior: please create an issue!
Install Progress Table easily with pip:
pip install progress-table
Progress bars: great for tracking progress, but they don't provide ways to display data in clear and compact way
tqdm
rich.progress
keras.utils.Progbar
Libraries displaying data: great for presenting tabular data, but they lack the progress tracking aspect
rich.table
tabulate
texttable