`schedule <https://schedule.readthedocs.io/>`__
===============================================
.. image:: https://github.com/dbader/schedule/workflows/Tests/badge.svg
:target: https://github.com/dbader/schedule/actions?query=workflow%3ATests+branch%3Amaster
.. image:: https://coveralls.io/repos/dbader/schedule/badge.svg?branch=master
:target: https://coveralls.io/r/dbader/schedule
.. image:: https://img.shields.io/pypi/v/schedule.svg
:target: https://pypi.python.org/pypi/schedule
Python job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax.
- A simple to use API for scheduling jobs, made for humans.
- In-process scheduler for periodic jobs. No extra processes needed!
- Very lightweight and no external dependencies.
- Excellent test coverage.
- Tested on Python and 3.7, 3.8, 3.9, 3.10, 3.11, 3.12
Usage
-----
.. code-block:: bash
$ pip install schedule
.. code-block:: python
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).seconds.do(job)
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().day.at("12:42", "Europe/Amsterdam").do(job)
schedule.every().minute.at(":17").do(job)
def job_with_argument(name):
print(f"I am {name}")
schedule.every(10).seconds.do(job_with_argument, name="Peter")
while True:
schedule.run_pending()
time.sleep(1)
Documentation
-------------
Schedule's documentation lives at `schedule.readthedocs.io <https://schedule.readthedocs.io/>`_.
Meta
----
Daniel Bader - `@dbader_org <https://twitter.com/dbader_org>`_ - mail@dbader.org
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.
Distributed under the MIT license. See `LICENSE.txt <https://github.com/dbader/schedule/blob/master/LICENSE.txt>`_ for more information.
https://github.com/dbader/schedule
Raw data
{
"_id": null,
"home_page": "https://github.com/dbader/schedule",
"name": "simulation-schedule",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "schedule, periodic, jobs, scheduling, clockwork, cron, scheduler, job scheduling",
"author": "Daniel Bader",
"author_email": "mail@dbader.org",
"download_url": "https://files.pythonhosted.org/packages/ac/d3/8b96fab88f02deea28478bed9c8a5b1efc5299dc5dcaa1ccb5b2899281a8/simulation_schedule-1.2.6.tar.gz",
"platform": null,
"description": "`schedule <https://schedule.readthedocs.io/>`__\n===============================================\n\n\n.. image:: https://github.com/dbader/schedule/workflows/Tests/badge.svg\n :target: https://github.com/dbader/schedule/actions?query=workflow%3ATests+branch%3Amaster\n\n.. image:: https://coveralls.io/repos/dbader/schedule/badge.svg?branch=master\n :target: https://coveralls.io/r/dbader/schedule\n\n.. image:: https://img.shields.io/pypi/v/schedule.svg\n :target: https://pypi.python.org/pypi/schedule\n\nPython job scheduling for humans. Run Python functions (or any other callable) periodically using a friendly syntax.\n\n- A simple to use API for scheduling jobs, made for humans.\n- In-process scheduler for periodic jobs. No extra processes needed!\n- Very lightweight and no external dependencies.\n- Excellent test coverage.\n- Tested on Python and 3.7, 3.8, 3.9, 3.10, 3.11, 3.12\n\nUsage\n-----\n\n.. code-block:: bash\n\n $ pip install schedule\n\n.. code-block:: python\n\n import schedule\n import time\n\n def job():\n print(\"I'm working...\")\n\n schedule.every(10).seconds.do(job)\n schedule.every(10).minutes.do(job)\n schedule.every().hour.do(job)\n schedule.every().day.at(\"10:30\").do(job)\n schedule.every(5).to(10).minutes.do(job)\n schedule.every().monday.do(job)\n schedule.every().wednesday.at(\"13:15\").do(job)\n schedule.every().day.at(\"12:42\", \"Europe/Amsterdam\").do(job)\n schedule.every().minute.at(\":17\").do(job)\n\n def job_with_argument(name):\n print(f\"I am {name}\")\n\n schedule.every(10).seconds.do(job_with_argument, name=\"Peter\")\n\n while True:\n schedule.run_pending()\n time.sleep(1)\n\nDocumentation\n-------------\n\nSchedule's documentation lives at `schedule.readthedocs.io <https://schedule.readthedocs.io/>`_.\n\n\nMeta\n----\n\nDaniel Bader - `@dbader_org <https://twitter.com/dbader_org>`_ - mail@dbader.org\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\nDistributed under the MIT license. See `LICENSE.txt <https://github.com/dbader/schedule/blob/master/LICENSE.txt>`_ for more information.\n\nhttps://github.com/dbader/schedule\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Job scheduling for humans.",
"version": "1.2.6",
"project_urls": {
"Download": "https://github.com/dbader/schedule/tarball/1.2.6",
"Homepage": "https://github.com/dbader/schedule"
},
"split_keywords": [
"schedule",
" periodic",
" jobs",
" scheduling",
" clockwork",
" cron",
" scheduler",
" job scheduling"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b9a11fdf7e98cc435cf1a1ad13958efdfaa484b524fce3228fb9669c6038887c",
"md5": "87e52902357eded2065771e52351ed58",
"sha256": "88665a735719b871455e2ae009f586b25fc552aee608092ef7c1d15511d2621d"
},
"downloads": -1,
"filename": "simulation_schedule-1.2.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "87e52902357eded2065771e52351ed58",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 12367,
"upload_time": "2024-07-22T11:33:55",
"upload_time_iso_8601": "2024-07-22T11:33:55.788050Z",
"url": "https://files.pythonhosted.org/packages/b9/a1/1fdf7e98cc435cf1a1ad13958efdfaa484b524fce3228fb9669c6038887c/simulation_schedule-1.2.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "acd38b96fab88f02deea28478bed9c8a5b1efc5299dc5dcaa1ccb5b2899281a8",
"md5": "a4cc218cb52c434723cb690302b36add",
"sha256": "7e640b0c6790618e27eb0b10a02bcd006d63104d4d06283077a528722ebef413"
},
"downloads": -1,
"filename": "simulation_schedule-1.2.6.tar.gz",
"has_sig": false,
"md5_digest": "a4cc218cb52c434723cb690302b36add",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 22943,
"upload_time": "2024-07-22T11:33:57",
"upload_time_iso_8601": "2024-07-22T11:33:57.255332Z",
"url": "https://files.pythonhosted.org/packages/ac/d3/8b96fab88f02deea28478bed9c8a5b1efc5299dc5dcaa1ccb5b2899281a8/simulation_schedule-1.2.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-22 11:33:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dbader",
"github_project": "schedule",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "simulation-schedule"
}