PermaProgress.jl

Julia package for progress metering using the file system.
Author tpapp
Popularity
6 Stars
Updated Last
1 Year Ago
Started In
April 2023

PermaProgress.jl

lifecycle build codecov.io

Introduction

Progress meter for long running operations in Julia, using a binary file for logging progress.

A computation just calls a simple interface to write to a single file:

using PermaProgress
log_path = "/tmp/my_computation.log"

add_stage(log_path; label = "first stage", total_steps = 100)
for i in 1:100
  log_entry(log_path; step = i)
  # ... do computation
end
computation_done(log_path)

This file can be read and analyzed, eg for the purposes of estimating remaining computation time or displaying a progress bar.

Design principles

  • the filesystem is used for logging, a single file for each computation
  • this log file can be analyzed independently from the computational process
  • callers should feel free to log as often as they like, eg each step, because the binary format is compact

Related libraries

Used By Packages

No packages found.