tzolkin


Nametzolkin JSON
Version 1.0.3 PyPI version JSON
download
home_page
SummaryScheduling for humans
upload_time2022-12-20 00:03:02
maintainer
docs_urlNone
author
requires_python>=3.9
licenseCopyright 2022 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords schedule time cron
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `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.


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "tzolkin",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "schedule,time,cron",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/94/86/7cdbd8d7a30349e38b9e49507a9d3735ec58175645e97a6eaa07480764e3/tzolkin-1.0.3.tar.gz",
    "platform": null,
    "description": "# `Tzolk'in`: Scheduling for Humans\u2122\r\n\r\n`tsolkin` is a python scheduler based on\r\n`cron`, `schedule`, `snaptime`, and `maya`.\r\n\r\n## F.A.Q.\r\n\r\n### What's with the name?\r\n\r\nThe Tzolk'in is a mayan calander.\r\nI named it that because it's a scheduler based on `maya`,\r\nthe excellent datatime library by Kenneth Reitz.\r\n\r\n### What does `tzolkin` do differently?\r\n\r\nIt's designed for maximum flexibility and built to be human interpretable.\r\n\r\nAll the core elements are abstract classes with minimal interfaces.\r\n\r\nNeed some weird asynchronous behavior, or to ensure consistency across a bunch\r\nof remote nodes? Write a `Schedule`.\r\n\r\nWant to schedule something for every time there's penumbral lunar eclipse over\r\nOld Carthage, or the first day of every prime numbered Gregorian year?\r\nWrite a `TimeSet`.\r\n\r\nNeed to trigger something weird? If you can fit it in a python function, it'll\r\nwork as a `Job`.\r\n\r\n### Why did you make this?\r\n\r\nI needed it for another project. I started out using `schedule`, but it quickly\r\nbecame clear that I needed something more flexible and extensible.\r\n\r\n### Why not improve `schedule`?\r\n\r\nMy particular use cases would have required pretty dramatic changes,\r\nand looking at the contribution rules (in particular the requirement that it\r\nwork for python2, and the requirement that it not use external libraries)\r\nfor `schedule` I decided it was not going to be very plausible.\r\n\r\nIn addition, I wanted more flexible fluent building, and native first class\r\nsupport for jobs that run only once.\r\n\r\n### Why not improve `python-crontab`?\r\n\r\nThe goals of python-crontab are a little different. I wanted to focus on\r\nscheduling within python (not just running bash jobs). I wanted to support\r\nscheduling singleton jobs, as above. And I wanted something more readable.\r\n\r\n",
    "bugtrack_url": null,
    "license": "Copyright 2022  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Scheduling for humans",
    "version": "1.0.3",
    "split_keywords": [
        "schedule",
        "time",
        "cron"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "f77d85b52ac98a27ff1e6ee4d260cbd0",
                "sha256": "ec5289e5c53a931c9bcf00b23ba173a39b1b120234fc246a8eae31f4783f99e5"
            },
            "downloads": -1,
            "filename": "tzolkin-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "f77d85b52ac98a27ff1e6ee4d260cbd0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 15062,
            "upload_time": "2022-12-20T00:03:02",
            "upload_time_iso_8601": "2022-12-20T00:03:02.169265Z",
            "url": "https://files.pythonhosted.org/packages/94/86/7cdbd8d7a30349e38b9e49507a9d3735ec58175645e97a6eaa07480764e3/tzolkin-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-20 00:03:02",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "tzolkin"
}
        
Elapsed time: 0.03517s