Skip to main content

Progress Logger

pip install progresslogger

Progress Logger is a simple, lightweight logger for your Python loops. Quickly see the current status of long loops, its estimated time remaining, and more useful stats!


Simple Usage

Progress Logger works great right out of the box, with no customization required. When imported, it will overwrite the built-in enumerate() function. That's it!

from progresslogger import *

my_list = ['a', 'b', 'c', 'd', 'e']

for i, letter in enumerate(my_list):
    execute_code(letter)

Output:

>>> Starting progress logger for 5 items.
>>> Iteration 1 of 5 (20.0%) complete. Approximately 4 seconds remaining.
>>> Iteration 2 of 5 (40.0%) complete. Approximately 3 seconds remaining.
>>> ...
>>> Loop complete! Average iteration time: 1.0 seconds

Advanced Usage

You may customize your logger and pass it directly to the enumerate() function:

my_logger = ProgressLogger(show_next_value=True)
for i, letter in enumerate(my_list, my_logger):
    execute_code(letter)

Output:

>>> Starting progress logger for 5 items. Next value: "a".
>>> Iteration 1 of 5 (20.0%) complete. Approximately 4 seconds remaining. Next value: "b".
>>> Iteration 2 of 5 (40.0%) complete. Approximately 3 seconds remaining. Next value: "c".
>>> ...

If you'd like to retain the built-in enumerate() function, or you'd like to have both, you can use from progresslogger import ProgressLogger or import progresslogger and use progresslogger.enumerate(...).

You may wish to insert the log in the middle of a loop, or otherwise implement your logger yourself. Simply initialize ProgressLogger before the loop, and call my_logger.log() once each loop:

my_logger = ProgressLogger(my_list) # be sure to pass your collection when initializing your logger
for letter in my_list:
    my_logger.log()
    execute_code(letter)

Metadata

Release files for progresslogger 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for progresslogger 1.1.0
File Interpreter ABI Platform
progresslogger-1.1.0-py3-none-any.whl Python 3 none any Details

Release files / progresslogger-1.1.0-py3-none-any.whl

Download URL progresslogger-1.1.0-py3-none-any.whl
Size 16.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4d89bac00bde3fa0d7920802330f82d038532fae939968b8d2a00ae8afba276
BLAKE2b-256 checksum
How to use checksums
2df3209018f6813091a9d596a3a9b469140c5fad15b5e188c4b6fbe5417f7703
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.4

Release history Release notifications | RSS feed

This release

1.1.0 This release

1 release file

1.0.1

1 release file

1.0.0

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page