Skip to main content

Timer Module with performance profiling features

Project description


📋 Prerequisite:

Requires Python >= 3.10
TimeProfiler makes use of new features from Python's typing module.

🛠️ Installation:

pip install timer-module

🖥️ Timer Usage:

Example Usage:

import time
from timer_module import TimerModule

timer_module = TimerModule().start()

timer_module.pause()
time.sleep(0.2)

timer_module.start()
time.sleep(0.5)

seconds = timer_module.get_time()
print(seconds)

Get the current time

# Seconds
TimerModule().get_time() # float

# Milliseconds
TimerModule().get_time_ms() # float

# Nanoseconds
TimerModule().get_time_ns() # float

Set the starting time

# Seconds
TimerModule().set_time(1.0)

# Milliseconds
TimerModule().set_time_ms(1.0)

# Nanoseconds
TimerModule().set_time_ns(1.0)

Pause timer:

TimerModule().pause()

Refresh timer (preserves timer run state):

TimerModule().refresh()

Reset timer (resets everything)

TimerModule().reset()

🖥️ Profiler Usage:

TimeProfiler also includes a "function_profiler" and "async_function_profiler", in a class the asynchronous methods are handled automatically, but for functions you need to select the appropriate decorator.

import time
from timer_module import TimeProfiler

# You only need this line to profile the entire class 
# The program is run normally, this decorator will wrap 
# The class and its methods in order to track execution time
@TimeProfiler().class_profiler
class ExampleClass:
    def __init__(self):
        time.sleep(0.1)

    def method_1(self):
        time.sleep(0.5)
        self.method_2()

    def method_2(self):
        time.sleep(1)
        self.method_3()

    def method_3(self):
        time.sleep(1)
        self.method_4()

    def method_4(self):
        time.sleep(0.1)
        self.method_5()

    def method_5(self):
        time.sleep(0.1)


ec = ExampleClass()
ec.method_1()

Output:

profiler_output

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

timer-module-1.3.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

timer_module-1.3.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file timer-module-1.3.0.tar.gz.

File metadata

  • Download URL: timer-module-1.3.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for timer-module-1.3.0.tar.gz
Algorithm Hash digest
SHA256 3f2bd4de7ab19e5eaeb10966d89ad956adaab649c1abe8e526dc7356172df663
MD5 01d676065cc9100132b3b974992ddf08
BLAKE2b-256 e4f7e99fa0fa3d7df42370a3fe986bd07973a3308d9292019f3b4efee703b44f

See more details on using hashes here.

File details

Details for the file timer_module-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for timer_module-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c531b697701928f72218303f588c19128505e6f5a771f1329176812b209ea6b0
MD5 1d43ee0df3d7a099d9576d5c1112ad08
BLAKE2b-256 b7975e1df44233c9a896a8a24b903b826f0fb1b58d3afa227eab10b2f0a2d148

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