Skip to main content

Job scheduling for humans.

Project description

https://github.com/dbader/schedule/workflows/Tests/badge.svg https://coveralls.io/repos/dbader/schedule/badge.svg?branch=master https://img.shields.io/pypi/v/schedule.svg

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

$ pip install schedule
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.

Meta

Daniel Bader - @dbader_org - mail@dbader.org

Inspired by Adam Wiggins’ article “Rethinking Cron” and the clockwork Ruby module.

Distributed under the MIT license. See LICENSE.txt for more information.

https://github.com/dbader/schedule

Project details


Download files

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

Source Distribution

schedule-1.2.2.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

schedule-1.2.2-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file schedule-1.2.2.tar.gz.

File metadata

  • Download URL: schedule-1.2.2.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.3

File hashes

Hashes for schedule-1.2.2.tar.gz
Algorithm Hash digest
SHA256 15fe9c75fe5fd9b9627f3f19cc0ef1420508f9f9a46f45cd0769ef75ede5f0b7
MD5 e9a2733aad7fb33107444a53f8b87d48
BLAKE2b-256 0c91b525790063015759f34447d4cf9d2ccb52cdee0f1dd6ff8764e863bcb74c

See more details on using hashes here.

File details

Details for the file schedule-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: schedule-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for schedule-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5bef4a2a0183abf44046ae0d164cadcac21b1db011bdd8102e4a0c1e91e06a7d
MD5 27fb8e9ce43e40a5780194ed945f3fbd
BLAKE2b-256 20a784c96b61fd13205f2cafbe263cdb2745965974bdf3e0078f121dfeca5f02

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page