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.1.tar.gz (3.0 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.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asdftimer-0.1.1.tar.gz
  • Upload date:
  • Size: 3.0 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.1.tar.gz
Algorithm Hash digest
SHA256 e36a8a97c69023ae37e9d932d06933e5ff1addd80497859b943fe7be42ef1efc
MD5 ad1ef67225b23054eed3ccbb5ec6ba23
BLAKE2b-256 fc66332cd1cb56cc4cd4cd48bd15c15898fb363077fa57e5f9f780b772a8d407

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asdftimer-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d0ef8ca619507f26391a3b76c8255e5cb25ada88b7e9526d0aa8a160fdd7095
MD5 f0bb3cbdb52cec343372e758c5cce544
BLAKE2b-256 80b25975da313192e56f9042f1acff5e10fc6ac94659a3aef70f12dee4a99ff2

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