TGScheduler
Pure Python Scheduler
What it is and what it does
TGScheduler is a lightweight, dependency-free scheduler for Python applications that need to run tasks on a schedule. It originated from TurboGears 1's built-in scheduler and supports three execution modes: in-process threading, forked processes, or synchronous execution. The scheduler is designed to handle both one-time and recurring tasks with a simple API.
The package is pure Python with no external runtime dependencies, making it easy to integrate into existing applications. However, it has been abandoned since 2015 and receives no active maintenance, meaning it lacks updates for modern Python versions, security patches, or bug fixes. The lack of maintenance is a significant concern for production use.
Use it for:
- Schedule periodic maintenance tasks or data cleanup jobs to run at fixed intervals within a Python application.
- Run background tasks asynchronously in separate threads without introducing a heavy external scheduler dependency.
- Execute one-time delayed tasks or cron-like jobs in simple applications that do not require a full job queue system.
- Prototype or test scheduling logic in development before migrating to a maintained scheduler like APScheduler or Celery.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
TGScheduler is a pure Python task scheduler that runs one-time or recurring tasks either in-process within threads, as forked processes, or synchronously.
No. While TGScheduler has no dependencies and a permissive license, it has been abandoned for over 11 years with no maintenance, security updates, or verified compatibility with modern Python versions. For any production or long-term use, choose an actively maintained alternative like APScheduler. Only consider it for legacy TurboGears 1 projects or short-lived prototypes where the lack of maintenance is acceptable.
Install
tgscheduler on PyPI
pip
pip install tgscheduleruv
uv add tgschedulerpoetry
poetry add tgschedulerInstalling TGScheduler
Before you install
Installation is straightforward with no runtime dependencies. However, the package has been abandoned since 2015 and has not received updates for over 11 years, which means no bug fixes, security patches, or compatibility improvements for modern Python versions.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install TGScheduler
from tgscheduler.scheduler import Scheduler
scheduler = Scheduler()
scheduler.add_interval_task(action=my_function, taskname='mytask', minutes=5)
Package requires 'six' for Python 2/3 compatibility but has not been maintained since 2015; compatibility with modern Python versions is unverified.
Verify before relying
- Whether TGScheduler works reliably on Python 3.10+ without modification or workarounds.
- Whether the package's thread and process forking mechanisms are safe for concurrent use in modern applications.
- Whether there are known issues or incompatibilities with current dependency versions.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 4,106 days since the last release |
| First released | |
| Downloads | 108,369/month — #12,560 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: TGScheduler-1.7.0-py2-none-any.whl; TGScheduler-1.7.0-py3-none-any.whl
Keywords: turbogears, tg, tg2, scheduler
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
schedulerAn in-process job scheduler for Python that…
copyleft · top 15,000 on PyPI
APSchedulerAPScheduler lets you schedule Python code to…
permissive · top 1,000 on PyPI
scheduleSchedule provides a human-friendly API for…
permissive · top 5,000 on PyPI
google-cloud-schedulerPython client library for Google Cloud…
permissive · top 5,000 on PyPI
distributedDistributed provides a scheduler and runtime…
permissive · top 5,000 on PyPI
arqarq provides a job queue system for Python that…
permissive · top 5,000 on PyPI
celery-redbeatRedBeat is a Celery Beat scheduler that…
permissive · top 5,000 on PyPI
rq-schedulerAdds job scheduling capabilities to RQ (Redis…
permissive · top 15,000 on PyPI
django-apschedulerAdds persistent job scheduling to Django…
permissive · top 15,000 on PyPI
cron-schedule-triggersDetermines the next execution times of a…
permissive · top 15,000 on PyPI