No project description provided
Project description
retimer
A simple package to make retry loops easier
Getting started
You can get retimer from PyPI,
which means it's easily installable with pip:
python -m pip install retimer
Example usage
Think of a scenario where you need to keep trying to do something for a range of time, usually you can write this:
from time import perfcounter
timeout = 10
begin = perfcounter()
while percounter() - begin < timeout:
# do something for 10 seconds
if retry_doing_something:
time.sleep(.5)
continue
if something_bad:
break
# all good
break
if perfcounter - begin >= timeout:
print(f"Could not do something after {timeout} seconds")
else:
print("Success!")
Rewriting using this package becomes:
from retimer import Timer
import time
timer = Timer(10)
while timer.not_expired:
# do something for 10 seconds
if retry_doing_something:
time.sleep(.5)
continue
if something_bad:
timer.explode()
# all good
break
if timer.expired:
print(f"Could not do something after {timer.duration} seconds")
else:
print("Success!")
Although both codes accomplish the same result, I personally find the second one more readable and shines when I need two or more chained loops
Changelog
Refer to the CHANGELOG.md file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file retimer-0.1.0.9.tar.gz.
File metadata
- Download URL: retimer-0.1.0.9.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/5.15.0-1024-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82d500849f54e081cf5917097a19d97dcc8ff90552bdc981ec3c8aeb210031cb
|
|
| MD5 |
898957426807ea8fa87b875e4f8c5e3f
|
|
| BLAKE2b-256 |
2d175078a3914f3211e235a4c545423d05092342902590ecf251c205a766863b
|
File details
Details for the file retimer-0.1.0.9-py3-none-any.whl.
File metadata
- Download URL: retimer-0.1.0.9-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.11.1 Linux/5.15.0-1024-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f9465b9a99a68e453e028559081b0f2bd935317e49423d58e02f8ab86ba487d
|
|
| MD5 |
445a9ed66d2ebe3d325a68f61f20eee3
|
|
| BLAKE2b-256 |
edce65e8f639f1ba65d5a8e0997a5b57e726355a743e7b6d89ee863424261d80
|