TIM: Timed Iteration Monitor
Project description
Tim: Timed iteration monitor
============================
A common pattern I have when writing code to import or treat large chunk of data is to do some printing to track the progress and some timing to monitor the speed.
So I often end up with some variation of this in my code:
```python
from datetime import datetime
start = datetime.now()
n = 0
for i in my_iter:
n+=1
print "\r", i,
# do stuff
print start - datetime.now()
print (start - datetime.now()) / n / 100
```
which is a lot to remember and type which in turn make it easy to introduce bugs in some edge case which you need then to debug.
So I wrote tim to help me do just that, so I have this pattern ready for use and working and can spend my time coding my data treatment instead of debbugging my helper code.
*WARNING* : This is alpha level stuff, I'm still working out the proper way to do stuff so the API may still change a bit.
How to use tim
--------------
Common usage pattern would probably be:
```python
import tim
tim.start()
for i in my_iter:
tim.pulse_print() # print current progress
# do stuff
tim.stop() # print overall stats and reset counter
```
If you just need to monitor start and stop you can use:
```python
tim.start()
# calculation
tim.stop() # print elapsed time and reset
```
Installation
------------
pip install tim
============================
A common pattern I have when writing code to import or treat large chunk of data is to do some printing to track the progress and some timing to monitor the speed.
So I often end up with some variation of this in my code:
```python
from datetime import datetime
start = datetime.now()
n = 0
for i in my_iter:
n+=1
print "\r", i,
# do stuff
print start - datetime.now()
print (start - datetime.now()) / n / 100
```
which is a lot to remember and type which in turn make it easy to introduce bugs in some edge case which you need then to debug.
So I wrote tim to help me do just that, so I have this pattern ready for use and working and can spend my time coding my data treatment instead of debbugging my helper code.
*WARNING* : This is alpha level stuff, I'm still working out the proper way to do stuff so the API may still change a bit.
How to use tim
--------------
Common usage pattern would probably be:
```python
import tim
tim.start()
for i in my_iter:
tim.pulse_print() # print current progress
# do stuff
tim.stop() # print overall stats and reset counter
```
If you just need to monitor start and stop you can use:
```python
tim.start()
# calculation
tim.stop() # print elapsed time and reset
```
Installation
------------
pip install tim
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
tim-0.3.tar.gz
(2.3 kB
view hashes)
Built Distributions
tim-0.3-py2.py3-none-any.whl
(3.9 kB
view hashes)
tim-0.3-py2.7.egg
(2.5 kB
view hashes)