Skip to main content

Helps you to keep your Django installation up to date

Project description

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

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.

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",
)

And run the migrations with:

python manage.py migrate updater

Screenshots

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

Usage

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

  • Using the service on djangoupdater.com (not yet implemented)

  • Running a periodic Celery task

  • Create a cronjob

With Djangoupdater.com

Warning: The service is not live, yet.

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

To register your site, run

python manage.py 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!

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

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 manage.py updater_token

Copy the token and create a cronjob like this:

30 2 * * * curl https://domain.com/updater/run/<YOUR_TOKEN>/

History

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.1.7.tar.gz (14.0 kB view hashes)

Uploaded Source

Built Distribution

django_updater-0.1.7-py2.py3-none-any.whl (44.9 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