Skip to main content

Helpers for reporting a progress from functions by the means of callbacks.

Project description

Check package with mypy

Progress-checkpoint

Helpers for reporting a progress from functions by the means of callbacks.

Examples

Trivial

from progress_checkpoint import dummy_checkpoint, with_progress

def time_consuming_operation(checkpoint=dummy_checkpoint):
    for i in with_progress(range(10), checkpoint):
        time.sleep(0.2)

time_consuming_operation(lambda p, _: print("{:.0f}%% ready".format(p*100)))

Subcheckpoints

from progress_checkpoint import dummy_checkpoint, with_progress, with_progress_sub

def time_consuming_operation(checkpoint=dummy_checkpoint):
    for _ in with_progress(range(10), checkpoint):
        sleep(0.1)


def compound_time_consuming_operation(checkpoint=dummy_checkpoint):
    for _, subcheckpoint in with_progress_sub(range(2), checkpoint):
        time_consuming_operation(subcheckpoint)


compound_time_consuming_operation(lambda p, _: print("{:.0f}% ready".format(p * 100)))

Subcheckpoints with different weights

def time_consuming_operation(num, checkpoint=dummy_checkpoint):
    for _ in with_progress(range(num), checkpoint):
        sleep(0.1)


def compound_time_consuming_operation(checkpoint=dummy_checkpoint):
    counts = [1, 3, 7]
    for cnt, subcheckpoint in with_progress_sub(counts, checkpoint, weights=counts):
        time_consuming_operation(cnt, subcheckpoint)


compound_time_consuming_operation(lambda p, _: print("{:.0f}% ready".format(p * 100)))

Reporting using progresssbar package

from progress_checkpoint.console import ProgressbarCheckpoint


def time_consuming_operation(checkpoint=dummy_checkpoint):
    for _ in with_progress(range(10), checkpoint):
        sleep(0.1)


time_consuming_operation(ProgressbarCheckpoint())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

progress_checkpoint-1.0.5.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

progress_checkpoint-1.0.5-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file progress_checkpoint-1.0.5.tar.gz.

File metadata

  • Download URL: progress_checkpoint-1.0.5.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for progress_checkpoint-1.0.5.tar.gz
Algorithm Hash digest
SHA256 93a154eb9a9a168abc796976622cbc6b241b16a490e11183f17316cdc4c5cc6e
MD5 da8118ab32a759f2401216accf7a4ce7
BLAKE2b-256 4e366cb25aec6013a3f24fb5df67c665ea8f21cc2da5ad2539da442c1efec127

See more details on using hashes here.

File details

Details for the file progress_checkpoint-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for progress_checkpoint-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5ad0dd4fcd657bcd6b1fe809c92a0330ea570322bc0fd82f57ec63d835eb0b92
MD5 fcdeadee027a49e9ab6a658263bdf7e1
BLAKE2b-256 54e04aa4f2d5a736fb4525b1744146a5fdb63f0923d99323cf93b3dfe13e7a2d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page