Scheduling for humans
Project description
Tzolk'in
: Scheduling for Humans™
tsolkin
is a python scheduler based on
cron
, schedule
, snaptime
, and maya
.
F.A.Q.
What's with the name?
The Tzolk'in is a mayan calander.
I named it that because it's a scheduler based on maya
,
the excellent datatime library by Kenneth Reitz.
What does tzolkin
do differently?
It's designed for maximum flexibility and built to be human interpretable.
All the core elements are abstract classes with minimal interfaces.
Need some weird asynchronous behavior, or to ensure consistency across a bunch
of remote nodes? Write a Schedule
.
Want to schedule something for every time there's penumbral lunar eclipse over
Old Carthage, or the first day of every prime numbered Gregorian year?
Write a TimeSet
.
Need to trigger something weird? If you can fit it in a python function, it'll
work as a Job
.
Why did you make this?
I needed it for another project. I started out using schedule
, but it quickly
became clear that I needed something more flexible and extensible.
Why not improve schedule
?
My particular use cases would have required pretty dramatic changes,
and looking at the contribution rules (in particular the requirement that it
work for python2, and the requirement that it not use external libraries)
for schedule
I decided it was not going to be very plausible.
In addition, I wanted more flexible fluent building, and native first class support for jobs that run only once.
Why not improve python-crontab
?
The goals of python-crontab are a little different. I wanted to focus on scheduling within python (not just running bash jobs). I wanted to support scheduling singleton jobs, as above. And I wanted something more readable.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.