Django Updater helps you to keep your Django installation up to date. It warns you when a new security related release comes out and when your Django version hits end of life.


The full documentation is at


Install django-updater:

pip install django-updater

Then, add it to your INSTALLED_APPS:


And run the migrations with:

python migrate updater


In order to check for updates Django Updater has to be called periodically. There are three ways to accomplish that:

  • Using the service on (not yet implemented)
  • Running a periodic Celery task
  • Create a cronjob


Warning: The service is not live, yet.

Create an account on, and copy the token from your dashboard.

To register your site, run

python register_updater –token=<YOUR_TOKEN>

The service will now try to contact your site. If all went well, the command should terminate with

All went well!


If you are using Celery and have a celery beat daemon running, enable Celery support in your settings with:

    'run-django-updater': {
        'task': 'updater.tasks.run_check',
        'schedule': timedelta(days=1),

And you are good to go!


You can use a cronjob to check for updates once a day.

To set up a cronjob, run:

crontab -e

And then add:

30 2 * * * python /path/to/your/apps/ check_for_updates

If you are using a virtual environment, you might need to point to the python executable your virtual environment is using:

30 2 * * * /path/to/virtual/environment/bin/python /path/to/your/apps/ check_for_updates

If all this fails, or you want to start the process from a remote host, you can call the remote url.

To do that, run:

python updater_token

Copy the token and create a cronjob like this:

30 2 * * * curl<YOUR_TOKEN>/