skillfed

django-crontab

dead simple crontab powered job scheduling for django

django-crontab v0.7.1 206.5K downloads/30d#9,571 on PyPI846
Permissive license MIT Abandoned released

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

Integrates system crontab scheduling into Django, allowing you to define periodic tasks in Python and manage them through Django management commands.

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

pip

pip install django-crontab

uv

uv add django-crontab

poetry

poetry add django-crontab

Installing django-crontab

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.

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

Requires a POSIX system with crontab executable (Linux/Unix). Will not work on Windows. Requires Django 1.8+.

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)

Evidence: django-crontab-0.7.1.tar.gz

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

Tags

django cron job schedulingperiodic task scheduling djangocrontab integration djangoscheduled jobs djangodjango background tasks crondjango task scheduler
schedulingcronabandoned

More Installation/Setup packages