django-crontab
dead simple crontab powered job scheduling for django
Decision gist · record as of 2026-08-14
No for new projects. The package is abandoned (last release 2016, no commits since 2022) and predates modern Django and Python versions. For legacy Django projects already using it, it may continue to work, but there is no maintenance path forward. Consider alternatives for any new or actively maintained application.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a POSIX system with crontab executable (Linux/Unix).
- Will not work on Windows.
- Requires Django 1.8+.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute freely. No licensing barrier to adoption.
last release 2016-03-07 (3812 days) · last repo commit 2022-10-04 · 846 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 206,466 downloads/mo, #9,571 on PyPI
Alternatives
Verify before relying
pip install django-crontab
# In settings.py, add to INSTALLED_APPS:
INSTALLED_APPS = ['django_crontab', ...]
# Define CRONJOBS:
CRONJOBS = [('*/5 * * * *', 'myapp.cron.my_scheduled_job')]
# Then run:
python manage.py crontab add- Compatibility with Django versions released after 2016 (package predates modern Django LTS releases)
- Whether the package works reliably with Python versions beyond 3.5 (classifiers only list up to 3.5)
- Current state of the repository and whether it accepts pull requests or has an active maintainer
What it is and what it does
django-crontab bridges Django applications and the system crontab scheduler by letting you define periodic jobs in Python and register them with the OS cron daemon via management commands. Instead of maintaining separate cron configuration files, you declare jobs in Django settings using standard cron timing syntax and Python module paths, then use `python manage.py crontab add` to install them into the user's crontab.
The package handles the plumbing: it generates the correct cron entries, manages Django environment setup for each scheduled execution, and provides commands to show and remove jobs. It supports passing arguments to scheduled functions and can redirect output to files. However, it is tightly coupled to system crontab, so it only works on POSIX systems and requires the crontab executable to be present and accessible.
Use it for
- Schedule Django management commands (e.g., clearsessions, database cleanup) to run at specific times without a separate task queue.
- Run periodic data synchronization or reporting tasks defined as Python functions in your Django app.
- Set up simple recurring maintenance jobs (log rotation, cache clearing) without introducing a heavy dependency.
- Manage multiple scheduled tasks for a single Django project from one settings file rather than scattered cron entries.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No for new projects.
The package is abandoned (last release 2016, no commits since 2022) and predates modern Django and Python versions. For legacy Django projects already using it, it may continue to work, but there is no maintenance path forward. Consider alternatives for any new or actively maintained application.
Install
django-crontab on PyPI
Before you install
High install friction due to system-level crontab dependency. Package is abandoned—last release March 2016, no commits since October 2022. Maintenance status makes it risky for new projects or Django versions beyond those explicitly tested.
Requires a POSIX system with crontab executable (Linux/Unix). Will not work on Windows. Requires Django 1.8+.
License in practice
MIT license is permissive; you can use, modify, and distribute freely. No licensing barrier to adoption.
Quickstart
pip install django-crontab
# In settings.py, add to INSTALLED_APPS:
INSTALLED_APPS = ['django_crontab', ...]
# Define CRONJOBS:
CRONJOBS = [('*/5 * * * *', 'myapp.cron.my_scheduled_job')]
# Then run:
python manage.py crontab add
Verify before relying
- Compatibility with Django versions released after 2016 (package predates modern Django LTS releases)
- Whether the package works reliably with Python versions beyond 3.5 (classifiers only list up to 3.5)
- Current state of the repository and whether it accepts pull requests or has an active maintainer
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 3,812 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 206,466 / month, #9,571 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Topic :: System :: Installation/Setup |
Evidence: django-crontab-0.7.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django cron job scheduling”
- django-crontabIntegrates system crontab scheduling into Django, allowing you to…
- django-apschedulerAdds persistent job scheduling to Django applications using…
- pycronParses cron-style schedule strings and determines whether a given…
Give your agent the search over MCP, or paste the wish link into any chat.
More Installation/Setup packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Ansible Core is the engine for agentless IT automation, handling configuration management, application deployment, cloud provisioning, and multi-node orchestration via SSH without requiring agents or custom ports.
progressbar2 renders text-based progress bars in the terminal, handling custom widgets, concurrent bars, unknown-length progress, and clean output around logs and prints.
Represents and manipulates IPv4, IPv6, MAC addresses and related network objects; supports CIDR notation, subnetting, set operations, IANA lookups, and DNS reverse generation.
PyInstaller bundles a Python application and all its dependencies into a single standalone executable or folder that runs without requiring a Python interpreter or installed modules on the target system.
Install it if you need to distribute Python applications as standalone executables.
See also aiocron · python-crontab · schedule · Flask-APScheduler · django-apscheduler · django-celery-beat · APScheduler · rq-scheduler · crontab · timeloop