apscheduler

Task scheduling library for Python

https://github.com/agronholm/apscheduler

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 62 committers (3.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords from Contributors

pydantic json-schema parsing conda asgi redoc quantum-circuit tensors uvicorn asyncio
Last synced: 10 months ago · JSON representation

Repository

Task scheduling library for Python

Basic Info
  • Host: GitHub
  • Owner: agronholm
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 5.73 MB
Statistics
  • Stars: 6,938
  • Watchers: 129
  • Forks: 732
  • Open Issues: 46
  • Releases: 5
Created about 10 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License

README.rst

.. image:: https://github.com/agronholm/apscheduler/actions/workflows/test.yml/badge.svg
  :target: https://github.com/agronholm/apscheduler/actions/workflows/test.yml
  :alt: Build Status
.. image:: https://coveralls.io/repos/github/agronholm/apscheduler/badge.svg?branch=master
  :target: https://coveralls.io/github/agronholm/apscheduler?branch=master
  :alt: Code Coverage
.. image:: https://readthedocs.org/projects/apscheduler/badge/?version=latest
  :target: https://apscheduler.readthedocs.io/en/master/?badge=latest
  :alt: Documentation

.. warning:: The v4.0 series is provided as a **pre-release** and may change in a
   backwards incompatible fashion without any migration pathway, so do NOT use this
   release in production!

Advanced Python Scheduler (APScheduler) is a task scheduler and task queue system for
Python. It can be used solely as a job queuing system if you have no need for task
scheduling. It scales both up and down, and is suitable for both trivial, single-process
use cases as well as large deployments spanning multiple nodes. Multiple schedulers and
workers can be deployed to use a shared data store to provide both a degree of high
availability and horizontal scaling.

APScheduler comes in both synchronous and asynchronous flavors, making it a good fit for
both traditional, thread-based applications, and asynchronous (asyncio or Trio_)
applications. Documentation and examples are provided for integrating with either WSGI_
or ASGI_ compatible web applications.

Support is provided for persistent storage of schedules and jobs. This means that they
can be shared among multiple scheduler/worker instances and will survive process and
node restarts.

The built-in persistent data store back-ends are:

* PostgreSQL
* MySQL and derivatives
* SQLite
* MongoDB

The built-in event brokers (needed in scenarios with multiple schedulers and/or
workers):

* PostgreSQL
* Redis
* MQTT

The built-in scheduling mechanisms (*triggers*) are:

* Cron-style scheduling
* Interval-based scheduling (runs tasks on even intervals)
* Calendar-based scheduling (runs tasks on intervals of X years/months/weeks/days,
  always at the same time of day)
* One-off scheduling (runs a task once, at a specific date/time)

Different scheduling mechanisms can even be combined with so-called *combining triggers*
(see the documentation_ for details).

You can also implement your custom scheduling logic by building your own trigger class.
These will be treated no differently than the built-in ones.

Other notable features include:

* You can limit the maximum number of simultaneous jobs for a given task (function)
* You can limit the amount of time a job is allowed to start late
* Jitter (adjustable, random delays added to the run time of each scheduled job)

.. _Trio: https://pypi.org/project/trio/
.. _WSGI: https://wsgi.readthedocs.io/en/latest/what.html
.. _ASGI: https://asgi.readthedocs.io/en/latest/index.html
.. _documentation: https://apscheduler.readthedocs.io/en/master/

Documentation
=============

Documentation can be found
`here `_.

Source
======

The source can be browsed at `Github `_.

Reporting bugs
==============

A `bug tracker `_ is provided by
GitHub.

Getting help
============

If you have problems or other questions, you can either:

* Ask in the `apscheduler `_ room on Gitter
* Post a question on `GitHub discussions`_, or
* Post a question on StackOverflow_ and add the ``apscheduler`` tag

.. _GitHub discussions: https://github.com/agronholm/apscheduler/discussions/categories/q-a
.. _StackOverflow: http://stackoverflow.com/questions/tagged/apscheduler

Owner

  • Name: Alex Grönholm
  • Login: agronholm
  • Kind: user
  • Location: Nurmijärvi, Finland
  • Company: NextDay Solutions Oy

GitHub Events

Total
  • Create event: 18
  • Release event: 2
  • Issues event: 54
  • Watch event: 645
  • Delete event: 17
  • Issue comment event: 403
  • Push event: 74
  • Pull request review event: 11
  • Pull request review comment event: 6
  • Pull request event: 70
  • Fork event: 37
Last Year
  • Create event: 18
  • Release event: 2
  • Issues event: 54
  • Watch event: 645
  • Delete event: 17
  • Issue comment event: 403
  • Push event: 74
  • Pull request review event: 11
  • Pull request review comment event: 6
  • Pull request event: 70
  • Fork event: 37

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1,281
  • Total Committers: 62
  • Avg Commits per committer: 20.661
  • Development Distribution Score (DDS): 0.134
Past Year
  • Commits: 112
  • Committers: 12
  • Avg Commits per committer: 9.333
  • Development Distribution Score (DDS): 0.366
Top Committers
Name Email Commits
Alex Grönholm a****m@n****i 1,109
pre-commit-ci[bot] 6****] 78
Allen Sanabria a****a@l****g 12
Peter Schutt p****b@p****e 6
rcaselli r****i@M****m 4
Curtis Vogt c****t@i****a 3
Justin Su i****u@g****m 3
nnyby n****y@c****u 2
Will Da Silva w****l@w****z 2
Pieter Eendebak p****k@g****m 2
Mattew S. 5****w 2
Jose Ignacio Villar j****r@g****m 2
Jacob Hayes r****t@j****v 2
David Brochart d****t@g****m 2
Christy O'Reilly c****y@o****k 2
Brendan McCollam b****n@m****m 2
Hubert Lobit h****t@l****y 2
liuchao12 l****2@m****m 2
PokkaKiyo 3****o 1
Roman Levin r****n 1
Ruben Diaz o****e 1
Sergey Kovalev s****v@l****m 1
Jarek Glowacki j****g@o****m 1
Spaceack s****k@g****m 1
Henkhogan 3****n 1
Gol g****g@1****m 1
Gilbert Gilb's g****s 1
Edgar Ramírez Mondragón 1****n 1
Dmitrii 1****b 1
Cong c****s@g****m 1
and 32 more...

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 228
  • Total pull requests: 171
  • Average time to close issues: 12 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 192
  • Total pull request authors: 55
  • Average comments per issue: 6.79
  • Average comments per pull request: 2.24
  • Merged pull requests: 130
  • Bot issues: 0
  • Bot pull requests: 84
Past Year
  • Issues: 42
  • Pull requests: 70
  • Average time to close issues: 29 days
  • Average time to close pull requests: 14 days
  • Issue authors: 37
  • Pull request authors: 22
  • Average comments per issue: 4.93
  • Average comments per pull request: 2.84
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 31
Top Authors
Issue Authors
  • agronholm (9)
  • HK-Mattew (5)
  • peterschutt (3)
  • 555Russich (2)
  • difhel (2)
  • Kenchir (2)
  • pangxiaobin (2)
  • legout (2)
  • akshaykumar90 (2)
  • courtland (2)
  • Henkhogan (2)
  • HomerusJa (2)
  • nuno-andre (2)
  • yuqiuwen (2)
  • raokrutarth (2)
Pull Request Authors
  • pre-commit-ci[bot] (109)
  • peterschutt (10)
  • injust (10)
  • HK-Mattew (6)
  • WillDaSilva (6)
  • davidbrochart (4)
  • hlobit (4)
  • JackLuguibin (4)
  • JacobHayes (4)
  • jonasitzmann (4)
  • agronholm (4)
  • majamassarini (3)
  • HomerusJa (2)
  • neeraj9 (2)
  • robinfrick (2)
Top Labels
Issue Labels
bug (128) enhancement (50) documentation (4) minor (3) duplicate (1) scheduler (1) invalid (1) question (1)
Pull Request Labels

Packages

  • Total packages: 7
  • Total downloads:
    • pypi 13,534,009 last-month
  • Total docker downloads: 985,910,824
  • Total dependent packages: 254
    (may contain duplicates)
  • Total dependent repositories: 6,911
    (may contain duplicates)
  • Total versions: 115
  • Total maintainers: 4
pypi.org: apscheduler

In-process task scheduler with Cron-like capabilities

  • Versions: 56
  • Dependent Packages: 245
  • Dependent Repositories: 6,897
  • Downloads: 13,533,929 Last month
  • Docker Downloads: 985,910,824
Rankings
Docker downloads count: 0.1%
Downloads: 0.1%
Dependent packages count: 0.1%
Dependent repos count: 0.1%
Stargazers count: 0.4%
Average: 0.4%
Forks count: 1.8%
Maintainers (1)
Last synced: 10 months ago
proxy.golang.org: github.com/agronholm/apscheduler
  • Versions: 32
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Stargazers count: 1.0%
Forks count: 1.1%
Average: 4.1%
Dependent repos count: 4.7%
Dependent packages count: 9.6%
Last synced: 10 months ago
conda-forge.org: apscheduler
  • Versions: 15
  • Dependent Packages: 7
  • Dependent Repositories: 6
Rankings
Stargazers count: 5.0%
Forks count: 6.5%
Dependent packages count: 8.0%
Average: 8.4%
Dependent repos count: 14.0%
Last synced: 10 months ago
spack.io: py-apscheduler

In-process task scheduler with Cron-like capabilities.

  • Versions: 3
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 2.1%
Forks count: 3.6%
Average: 8.4%
Dependent packages count: 28.1%
Maintainers (1)
Last synced: 10 months ago
pypi.org: my-apscheduler

In-process task scheduler with Cron-like capabilities

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 40 Last month
Rankings
Stargazers count: 0.4%
Forks count: 2.0%
Dependent packages count: 6.6%
Average: 9.9%
Dependent repos count: 30.6%
Maintainers (1)
Last synced: 10 months ago
pypi.org: apscheduler-ng

In-process task scheduler with Cron-like capabilities

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 40 Last month
Rankings
Stargazers count: 0.4%
Forks count: 1.7%
Dependent packages count: 10.1%
Average: 12.4%
Dependent repos count: 21.5%
Downloads: 28.4%
Maintainers (1)
Last synced: 10 months ago
anaconda.org: apscheduler

Advanced Python Scheduler (APScheduler) is a Python library that lets you schedule your Python code to be executed later, either just once or periodically.

  • Versions: 4
  • Dependent Packages: 1
  • Dependent Repositories: 6
Rankings
Stargazers count: 11.7%
Forks count: 13.8%
Average: 24.6%
Dependent packages count: 30.7%
Dependent repos count: 42.2%
Last synced: 10 months ago

Dependencies

pyproject.toml pypi
  • anyio ~= 3.6
  • attrs >= 21.3
  • tenacity ~= 8.0
  • typing_extensions >= 4.0; python_version < '3.11'
  • tzlocal >= 3.0
.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
docker-compose.yml docker
  • emqx/emqx 5.0.7
  • mongo latest
  • mysql latest
  • postgres latest
  • redis 7