Skip to main content
Help us improve Python packaging – donate today!

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

Release history Release notifications

This version
History Node

0.2.6

History Node

0.2.5

History Node

0.2

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
timepiece-0.2.6.tar.gz (9.9 kB) Copy SHA256 hash SHA256 Source None May 22, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page