Skip to main content

Copyright (c) Charles LeDouxAll rights reserved.

Project description

This is meant to be a super simple drop in for tracking progress.

This is, in essence, a wrapper around [progressbar2][1] with my personally
preferred defaults and ways of doing things.

If you need anything even slightly more complicated than what EtaTimer
provides, I recommend looking at the progressbar2 module instead.

[1]: https://github.com/WoLpH/python-progressbar

# Quickstart
from etatimer import EtaTimer
import time

x = range(5)
t = Timer(len(x))
for i in x:
t.tick()
time.sleep(1)

# Classes

### `EtaTimer(total, name="", stream=sys.stdout)`
Create a simple ETA Timer named `name` that tracks `total` number of operations
and prints updates to the stream `stream`.

### `DummyEtaTimer()`
Timer that supports same API as EtaTimer, but does nothing. Allows for code
that must always pass a timer, but doesn't always have information needed for
creating an EtaTimer.

Example: If a file is not seekable, we can't determine the number of lines.

if infile.seekable():
timer = ETATimer(sum(1 for i in infile))
infile.seek(0, 0)
else:
timer = DummyTimer()
process_file(infile, timer)

# API

### `timer.tick()`

Mark that one processing item has been completed.

If all items are processed, ding() will be automatically called.

The timer can be stopped early through manual calling of ding()

Can be used as an arbitrary callback function. Will accept and ignore any
number of parameters.

### `timer.ding()`

Timer's done!

Prints final statistics.

### `timer.finished`

Boolean indicating if time is finished.

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

etatimer-1.0.0.tar.gz (4.3 kB view details)

Uploaded Source

File details

Details for the file etatimer-1.0.0.tar.gz.

File metadata

  • Download URL: etatimer-1.0.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for etatimer-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ba31153f306c83bbb104d7dc61c6bf6882e71fb1dbe38ea40e82d7ac9ceff781
MD5 4777afc5064e09e55548930e87d4ea03
BLAKE2b-256 1b3cf2862f8c606d3cc6bc9682bd99a96aa3028837c717a5724ee86036f4ac0e

See more details on using hashes here.

Supported by

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