TimePiece¶
A DSL to assist with writing specifications describing intervals and durations of time with filters.
Why the name?¶
Because time_spec was uninspiring and a good friend suggested timepiece.
Naming things is difficult!
But why?¶
Because I wanted to represent when scheduled actions should take place and I was starting to have too many columns in my database representing everything I wanted to be able to do.
Installation¶
Use pip!:
pip install timepiece
Or if you’re developing it:
pip install -e .
pip install -e ".[tests]"
Usage¶
Just create the timepiece and give it a specification!
from timepiece.spec import make_timepiece
from datetime import datetime
timepiece = make_timepiece()
obj = timepiece.time_spec_to_object("between(start: now()) & interval(every: amount(num:1 size: hour))")
print("Next time is: ", obj.following(datetime.utcnow()))
See The docs at https://timepiece.readthedocs.io for more information!