Skip to content

raphasampaio/ProgressTables.jl

Repository files navigation

ProgressTables.jl

CI codecov Aqua

Introduction

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.

Getting Started

Installation

pkg> add ProgressTables

Example

using ProgressTables

pt = IncrementalProgressTable(
    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   │
└──────────┴────────┴────────────────┘

Contributing

Contributions, bug reports, and feature requests are welcome! Feel free to open an issue or submit a pull request.

About

Display customizable progress tables

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •