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.2.tar.gz (3.4 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.2-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asdftimer-0.1.2.tar.gz
  • Upload date:
  • Size: 3.4 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.2.tar.gz
Algorithm Hash digest
SHA256 e6be8e3527b377763caeecf826c3f71989b338a9559ae4033441ee7908a4f111
MD5 dd018ce5a7bf707935ace103f2957dd4
BLAKE2b-256 8edee695835550f6ad0dc8f8a7decee25051802f64846fe8e01fcecff221b715

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asdftimer-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 72f8df98a7a09c150ad00ab006ee245ff246c86d363f98d19a8f47cdbc81fad2
MD5 678b8352f020f24940c4ebecaef1a207
BLAKE2b-256 230a9458f2cd289174f2ead1fd8d8887be55eec28e4b46e76d20a706d7d90566

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