aioschedule
===========
.. image:: https://api.travis-ci.org/ibrb/python-aioschedule.svg?branch=master
:target: https://travis-ci.org/ibrb/python-aioschedule
.. image:: https://coveralls.io/repos/ibrb/python-aioschedule/badge.svg?branch=master
:target: https://coveralls.io/r/ibrb/python-aioschedule
.. image:: https://img.shields.io/pypi/v/aioschedule.svg
:target: https://pypi.python.org/pypi/aioschedule
.. image:: https://media.ibrb.org/ibr/images/logos/landscape1200.png
:target: https://media.ibrb.org/ibr/images/logos/landscape1200.png
Python job scheduling for humans. Forked and modified from github.com/dbader/schedule.
An in-process scheduler for periodic jobs that uses the builder pattern
for configuration. Schedule lets you run Python functions (or any other
callable) periodically at pre-determined intervals using a simple,
human-friendly syntax.
Inspired by `Adam Wiggins' <https://github.com/adamwiggins>`_ article `"Rethinking Cron" <https://adam.herokuapp.com/past/2010/4/13/rethinking_cron/>`_ and the `clockwork <https://github.com/Rykian/clockwork>`_ Ruby module.
Features
--------
- A simple to use API for scheduling jobs.
- Very lightweight and no external dependencies.
- Excellent test coverage.
- Tested on Python 3.5, and 3.6
Usage
-----
.. code-block:: bash
$ pip install aioschedule
.. code-block:: python
import asyncio
import aioschedule as schedule
import time
async def job(message='stuff', n=1):
print("Asynchronous invocation (%s) of I'm working on:" % n, message)
asyncio.sleep(1)
for i in range(1,3):
schedule.every(1).seconds.do(job, n=i)
schedule.every(5).to(10).days.do(job)
schedule.every().hour.do(job, message='things')
schedule.every().day.at("10:30").do(job)
loop = asyncio.get_event_loop()
while True:
loop.run_until_complete(schedule.run_pending())
time.sleep(0.1)
Documentation
-------------
Schedule's documentation lives at `schedule.readthedocs.io <https://schedule.readthedocs.io/>`_.
Please also check the FAQ there with common questions.
Development
-----------
Run `vagrant up` to spawn a virtual machine containing the development
environment. Make sure to set the `IBR_GIT_COMMITTER_NAME` and
`IBR_GIT_COMMITTER_EMAIL` environment variables.
Meta
----
- Daniel Bader - `@dbader_org <https://twitter.com/dbader_org>`_ - mail@dbader.org
- Cochise Ruhulessin - `@magicalcochise <https://twitter.com/magicalcochise>`_ - c.ruhulessin@ibrb.org
Distributed under the MIT license. See ``LICENSE.txt`` for more information.
https://github.com/ibrb/python-aioschedule
Raw data
{
"_id": null,
"home_page": "https://github.com/ibrb/python-aioschedule",
"name": "aioschedule",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "aioschedule",
"author": "Daniel Bader, Cochise Ruhulessin",
"author_email": "development@ibrb.io",
"download_url": "https://files.pythonhosted.org/packages/39/8a/f73565aca3a01420a2e0906b7cd56c21060aeb420deba79b33b7e1f1c39e/aioschedule-0.5.2.tar.gz",
"platform": "",
"description": "aioschedule\n===========\n\n\n.. image:: https://api.travis-ci.org/ibrb/python-aioschedule.svg?branch=master\n :target: https://travis-ci.org/ibrb/python-aioschedule\n\n.. image:: https://coveralls.io/repos/ibrb/python-aioschedule/badge.svg?branch=master\n :target: https://coveralls.io/r/ibrb/python-aioschedule\n\n.. image:: https://img.shields.io/pypi/v/aioschedule.svg\n :target: https://pypi.python.org/pypi/aioschedule\n\n.. image:: https://media.ibrb.org/ibr/images/logos/landscape1200.png\n :target: https://media.ibrb.org/ibr/images/logos/landscape1200.png\n\n\nPython job scheduling for humans. Forked and modified from github.com/dbader/schedule.\n\nAn in-process scheduler for periodic jobs that uses the builder pattern\nfor configuration. Schedule lets you run Python functions (or any other\ncallable) periodically at pre-determined intervals using a simple,\nhuman-friendly syntax.\n\nInspired by `Adam Wiggins' <https://github.com/adamwiggins>`_ article `\"Rethinking Cron\" <https://adam.herokuapp.com/past/2010/4/13/rethinking_cron/>`_ and the `clockwork <https://github.com/Rykian/clockwork>`_ Ruby module.\n\nFeatures\n--------\n- A simple to use API for scheduling jobs.\n- Very lightweight and no external dependencies.\n- Excellent test coverage.\n- Tested on Python 3.5, and 3.6\n\nUsage\n-----\n\n.. code-block:: bash\n\n $ pip install aioschedule\n\n.. code-block:: python\n\n import asyncio\n import aioschedule as schedule\n import time\n\n async def job(message='stuff', n=1):\n print(\"Asynchronous invocation (%s) of I'm working on:\" % n, message)\n asyncio.sleep(1)\n\n for i in range(1,3):\n schedule.every(1).seconds.do(job, n=i)\n schedule.every(5).to(10).days.do(job)\n schedule.every().hour.do(job, message='things')\n schedule.every().day.at(\"10:30\").do(job)\n\n loop = asyncio.get_event_loop()\n while True:\n loop.run_until_complete(schedule.run_pending())\n time.sleep(0.1)\n\nDocumentation\n-------------\n\nSchedule's documentation lives at `schedule.readthedocs.io <https://schedule.readthedocs.io/>`_.\n\nPlease also check the FAQ there with common questions.\n\n\nDevelopment\n-----------\nRun `vagrant up` to spawn a virtual machine containing the development\nenvironment. Make sure to set the `IBR_GIT_COMMITTER_NAME` and\n`IBR_GIT_COMMITTER_EMAIL` environment variables.\n\n\nMeta\n----\n\n- Daniel Bader - `@dbader_org <https://twitter.com/dbader_org>`_ - mail@dbader.org\n- Cochise Ruhulessin - `@magicalcochise <https://twitter.com/magicalcochise>`_ - c.ruhulessin@ibrb.org\n\nDistributed under the MIT license. See ``LICENSE.txt`` for more information.\n\nhttps://github.com/ibrb/python-aioschedule\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Job scheduling for humans.",
"version": "0.5.2",
"project_urls": {
"Download": "https://github.com/ibrb/python-aioschedule/tarball/0.5.2",
"Homepage": "https://github.com/ibrb/python-aioschedule"
},
"split_keywords": [
"aioschedule"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "398af73565aca3a01420a2e0906b7cd56c21060aeb420deba79b33b7e1f1c39e",
"md5": "7c59bb3237c7e1792681a1250b7e843b",
"sha256": "1fe8621d287f58cbba3d73695fbbd890355294ac0c01981a1fd1e4f0510fc744"
},
"downloads": -1,
"filename": "aioschedule-0.5.2.tar.gz",
"has_sig": false,
"md5_digest": "7c59bb3237c7e1792681a1250b7e843b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12763,
"upload_time": "2018-02-02T16:51:33",
"upload_time_iso_8601": "2018-02-02T16:51:33.940327Z",
"url": "https://files.pythonhosted.org/packages/39/8a/f73565aca3a01420a2e0906b7cd56c21060aeb420deba79b33b7e1f1c39e/aioschedule-0.5.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2018-02-02 16:51:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ibrb",
"github_project": "python-aioschedule",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "aioschedule"
}