Skip to main content

Simple customizable Python timer.

Project description

Asdftimer

asdftimer is a simple Python utility class for measuring elapsed time. It provides an easy-to-use interface for timing code execution, with support for logging and context management.

Features

  • Measure elapsed time.
  • Log elapsed time using a custom logger or print().
  • Restart the timer at any point.
  • Use as a context manager for automatic timing.

Installation

pip install asdftimer

Usage

Basic Usage

from asdftimer import Timer
from time import sleep

timer = Timer()
sleep(2.4)
elapsed_time = timer.stop()
# Output: AsdfTimer took 2.40 seconds

Using a Custom Logger

from asdftimer.timer import Timer
import logging
logger = logging.getLogger(__name__)

timer = Timer(name="LoggedTimer", logger=logger)
# ur code here
timer.stop()
# Output: LoggedTimer took X seconds

Timing a context

from asdftimer.timer import Timer
with Timer(name="ContextTimer") as timer:
    pass # ur code here
# Output: ContextTimer took X seconds

API Reference

Timer

__init__(name="AsdfTimer", logger=None, disable_print=False, print_digits=2)

  • name (str): The name of the timer. Defaults to "AsdfTimer".
  • logger (Logger): A logger instance for logging. Uses print() if None.
  • disable_print (bool): Whether to disable logging/printing the elapsed time. Defaults to False.
  • print_digits (int): Number of decimal places to print for elapsed time. Defaults to 2.

stop() -> float

Pauses the timer and outputs/returns the elapsed time in seconds.

restart() -> None

Restarts the timer.

__enter__()

Starts the timer when used as a context manager.

__exit__(exc_type, exc_value, traceback)

Stops the timer and outputs the elapsed time when exiting the context.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve asdftimer.

Author

Developed by Nibs.

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

asdftimer-0.1.3.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asdftimer-0.1.3-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file asdftimer-0.1.3.tar.gz.

File metadata

  • Download URL: asdftimer-0.1.3.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.10.16 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for asdftimer-0.1.3.tar.gz
Algorithm Hash digest
SHA256 18ae4df65b669eeed17555882f66077151717764c86c9abed9d114eebad66596
MD5 990bf7363d5e8899406f14ad833ebbb4
BLAKE2b-256 99cbb70fdcac2b6cb9db56bfc5723e0a542b4133a70b48bd34e7357ee5db3dac

See more details on using hashes here.

File details

Details for the file asdftimer-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: asdftimer-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.10.16 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for asdftimer-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 315abfbf271ad371896e59b42c5af3127fc5884ffb53656acf9933f871d0df54
MD5 acbed844b03f102b8fe424c89866e888
BLAKE2b-256 e1bb7415682d02626b6f1de71bb716a03af24e487d2839601893dcec75b19feb

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