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.

Source Distribution

timepiece-0.2.6.tar.gz (9.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page