ProgressTables.jl is a Julia package designed to display progress and track values in the form of visually appealing tables. It is ideal for use in tasks such as training machine learning models, monitoring simulations, or simply displaying iterative computations in a clean, tabular format. The package supports customizable table headers, column widths, data formatting, colors, alignment, and borders, providing full flexibility to suit various needs.
julia> ] add ProgressTables
using ProgressTables
pt = ProgressTable(
header = ["Epoch", "Loss", "Accuracy"],
widths = [10, 8, 16],
format = ["%d", "%.2f", "%.3e"],
color = [:normal, :normal, :blue],
border = true,
alignment = [:right, :center, :center],
)
epochs = 4
initialize(pt)
for epoch in 1:epochs
next(pt, [epoch, 1 / epoch, epoch * 0.1])
if epoch == 2
separator(pt)
end
end
finalize(pt)
┌──────────┬────────┬────────────────┐
│ Epoch │ Loss │ Accuracy │
├──────────┼────────┼────────────────┤
│ 1 │ 1.00 │ 1.000e-01 │
│ 2 │ 0.50 │ 2.000e-01 │
├──────────┼────────┼────────────────┤
│ 3 │ 0.33 │ 3.000e-01 │
│ 4 │ 0.25 │ 4.000e-01 │
└──────────┴────────┴────────────────┘
Contributions, bug reports, and feature requests are welcome! Feel free to open an issue or submit a pull request.