Skip to main content

Helps you to keep your Django installation up to date

Project description

django-updater

https://djangoupdater.com/static/images/logo.png
https://badge.fury.io/py/django-updater.png https://travis-ci.org/jayfk/django-updater.svg?branch=master

Displays a warning message in the admin when the used Django version is insecure or outdated and provides a management command (or celery task) that checks for updates periodically.

Documentation

The full documentation is at https://django-updater.readthedocs.org.

Quickstart

Install django-updater:

pip install django-updater

Then, add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    "updater",
)

If you want to enable it in the admin area, make sure to put updater before django.contrib.admin:

INSTALLED_APPS = (
    ...
    "updater",
    "django.contrib.admin",
)

Usage

If you have django-updater enabled in the admin area, it will display a info/warning message when there are updates available automatically.

In order to check for updates in an automated fashion, django-updater has to be called periodically. There are two ways to accomplish that:

  • Running a periodic Celery task

  • Create a cronjob

Celery

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

from datetime import timedelta

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

And you are good to go!

Cronjob

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/manage.py 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/manage.py check_for_updates

Screenshots

https://djangoupdater.com/static/images/security_mail.png
https://djangoupdater.com/static/images/update_mail.png

History

0.3.3 (2015-10-23)

  • Added a lot of tests

  • Simplified management commands

  • Some small refactorings

0.4.0 (2015-10-25)

  • Now compatible with Django 1.4 - 1.9

0.3.2 (2015-10-13)

  • Fixed an error with squashed migrations

0.3.1 (2015-10-13)

  • Squashed migrations

0.3.0 (2015-09-24)

  • Added registration view

0.2.2 (2015-09-24)

  • Refactored models

  • Added admin page

  • Reworked registration process

0.2.1 (2015-09-14)

  • Added callback token

0.2.0 (2015-09-09)

  • Major refactoring

0.1.8 (2015-09-08)

  • Fixed small typo

0.1.7 (2015-09-08)

  • Added notification service

  • Added inline documentation

  • Small refactorings

0.1.6 (2015-09-07)

  • Added online service registration

  • Fixed minor issues

0.1.5 (2015-08-19)

  • Fixed minor issues

0.1.4 (2015-08-19)

  • Fixed packaging issue

0.1.3 (2015-08-19)

  • Temporarily fixing piprot issue with pytz

0.1.2 (2015-08-19)

  • Added package requirements

0.1.1 (2015-08-19)

  • Switched to pip.get_installed_distributions to get a package list

  • minor documentation tweaks

0.1.0 (2015-08-19)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-updater-0.5.0.tar.gz (11.3 kB view hashes)

Uploaded Source

Built Distribution

django_updater-0.5.0-py2.py3-none-any.whl (28.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page