🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

resettabletimer

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

resettabletimer

Wrapper for threading.Timer to allow resetting

1.0.0
PyPI
Maintainers
1

resettabletimer

CI Release

Wrapper for threading.Timer to provide a resettable Timer implementation. Also provides fake timer for testing.

Usage

ResettableTimer

from resettabletimer import ResettableTimer

delay = 5 # seconds
function = print

# Create resettable timer
t = ResettableTimer(delay, function, ["Hello"], {"end":" timer!\n"})

# Starting and canceling work similarly than with threading.Timer
t.start()

# Wait 1-5 seconds

# Reset the timer
t.reset()

# Hello should be printed after five seconds

FakeTimer

from resettabletimer import FakeTimer

t = FakeTimer(2, print, ["Hello"], {"end":" timer!\n"})

# Starting and canceling work similarly than with threading.Timer
t.start()

# Wait >2 seconds
# Nothing happens

# Time passage is controlled with pass_time
t.pass_time(2)

# Hello should be printed

Testing

Check and automatically fix formatting with:

pycodestyle resettabletimer
autopep8 -aaar --in-place resettabletimer

Run static analysis with:

pylint -E --enable=invalid-name,unused-import,useless-object-inheritance resettabletimer

Run unit tests:

# Run unit tests
python3 -m unittest discover -s tst/

# Run unit tests with coverage analysis
coverage run \
    --branch \
    --source resettabletimer/ \
    -m unittest discover -s tst/
coverage report -m

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts