» Documentation | Changelog | PyPI | Issues | Source code | License | Community Forum
Supertask is a convenience task runner for programming recurrent or otherwise scheduled jobs, based on the excellent APScheduler, FastAPI, Pydantic, SQLAlchemy, and uv packages, amongst others.
You can use Supertask to invoke time-driven actions like the venerable cron daemon and the contemporary systemd timers are doing it. It can be used both as a standalone program/service, and as a library.
- Store jobs in databases supported by SQLAlchemy.
- Supertask aims for DWIM-like usefulness and UX, and provides CLI-, HTTP-, and other interfaces.
- Optionally, jobs can be pre-seeded from a JSON file
config.json, either from the local filesystem, or from a wide range of remote locations. When using the filesystem, a watchdog monitors the file for changes, in order to keep the schedules up to date.
Please note that Supertask is alpha software and a work in progress. Contributions of all kinds are much welcome, in order to make it more solid, and to add features.
Breaking changes should be expected until a 1.0 release, so applying version pinning is strongly recommended when consuming the package.
See Supertask Handbook.
See Supertask Sandbox.
Special thanks to the people at JetBrains s.r.o. for supporting us with excellent development tooling.