minimal timer wrapper with print or log
Project description
# Timmytimer
Named after the childrens TV-show Timmy Time
A simple wrapper to log/print functionname, \*args and \**kwargs and how long it took to execute
## INSTALL
pip install timmytimer
## Example Usage
```python
from timmytimer import timmy, timmyp, timmyprint
import logging
from time import sleep
from random import random
# *if* you have installed colorama you get colored print
try:
from colorama import Fore, Back, Style, init
init(autoreset=True)
except ImportError: # fallback so that the imported classes always exist
class ColorFallback():
__getattr__ = lambda self, name: ''
Fore = Back = Style = ColorFallback()
@timmy
def test_timmy(greeting, name='Henrik'):
sleep(random())
print('{} {}'.format(greeting, name))
@timmyprint
def test_timmyprint(greeting, name='Henrik'):
sleep(random())
print('{} {}'.format(greeting, name))
@timmyp
def test_timmyp(greeting, name='Henrik'):
sleep(random())
print('{} {}'.format(greeting, name))
if __name__ == '__main__':
log = logging.getLogger()
log.setLevel(logging.DEBUG)
test_timmy('Hello', name='Gustav')
test_timmyprint('Goodday', name='Ellinor')
test_timmyp('P-man')
```
output:
```console
(wenv) C:\Users\henrik\Desktop\git_temp\timmytimer>py tests\test.py
Hello Gustav
DEBUG:root:[timmytimer]test_timmy(('Hello',){'name': 'Gustav'})370.00ms
Goodday Ellinor
[timmytimer] test_timmyprint(('Goodday',){'name': 'Ellinor'}) 536.00ms
P-man Henrik
[timmytimer] test_timmyp(('P-man',){}) 230.00ms
```
Named after the childrens TV-show Timmy Time
A simple wrapper to log/print functionname, \*args and \**kwargs and how long it took to execute
## INSTALL
pip install timmytimer
## Example Usage
```python
from timmytimer import timmy, timmyp, timmyprint
import logging
from time import sleep
from random import random
# *if* you have installed colorama you get colored print
try:
from colorama import Fore, Back, Style, init
init(autoreset=True)
except ImportError: # fallback so that the imported classes always exist
class ColorFallback():
__getattr__ = lambda self, name: ''
Fore = Back = Style = ColorFallback()
@timmy
def test_timmy(greeting, name='Henrik'):
sleep(random())
print('{} {}'.format(greeting, name))
@timmyprint
def test_timmyprint(greeting, name='Henrik'):
sleep(random())
print('{} {}'.format(greeting, name))
@timmyp
def test_timmyp(greeting, name='Henrik'):
sleep(random())
print('{} {}'.format(greeting, name))
if __name__ == '__main__':
log = logging.getLogger()
log.setLevel(logging.DEBUG)
test_timmy('Hello', name='Gustav')
test_timmyprint('Goodday', name='Ellinor')
test_timmyp('P-man')
```
output:
```console
(wenv) C:\Users\henrik\Desktop\git_temp\timmytimer>py tests\test.py
Hello Gustav
DEBUG:root:[timmytimer]test_timmy(('Hello',){'name': 'Gustav'})370.00ms
Goodday Ellinor
[timmytimer] test_timmyprint(('Goodday',){'name': 'Ellinor'}) 536.00ms
P-man Henrik
[timmytimer] test_timmyp(('P-man',){}) 230.00ms
```
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
timmytimer-0.2.tar.gz
(2.2 kB
view details)
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 timmytimer-0.2.tar.gz.
File metadata
- Download URL: timmytimer-0.2.tar.gz
- Upload date:
- Size: 2.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8aed4b7f7cb77019fad4c794109d4f49b042925dec62775a03567d7e0ac52ce7
|
|
| MD5 |
481aeae2f8731bd2035300f0e948e995
|
|
| BLAKE2b-256 |
6157c7765b8eddf8112f02ecd3a6b21f437c1133432dfd79a563c44e7355fdb3
|
File details
Details for the file timmytimer-0.2-py3-none-any.whl.
File metadata
- Download URL: timmytimer-0.2-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
290489f9be18fc98512025d12d9d6ca8ce648beb6fac95211be707a2acbb2430
|
|
| MD5 |
580a7ab1a956822b7520dc612ad28e1d
|
|
| BLAKE2b-256 |
5b47984c8d4499c462253766b86f8ff10b5a48bdb16584f8739a2dc30f239914
|