Skip to main content

Thin DSL for creating time scheduling specifications

Project description

A DSL to assist with writing specifications describing intervals and durations of time with filters.

https://travis-ci.org/delfick/timepiece.png?branch=master

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!

Tests

To run the tests in this project, just use the helpful script:

./test.sh

Or run tox:

tox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for timepiece, version 0.2.6
Filename, size File type Python version Upload date Hashes
Filename, size timepiece-0.2.6.tar.gz (9.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page