Skip to main content

Helps you to keep your Django installation up to date

Project description

WARNING

Django Updater is currently in beta. Don’t rely on it for now.

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. It also checks all your other packages for regular updates and security issues.

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

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 currently in private beta, apply at djangoupdater.com

  • Running a periodic Celery task

  • Create a cronjob

With Djangoupdater.com

The service is currently in private beta, check out djangoupdater.com to request an invite

The online service has a lot of benefits. We do all the scheduling and notification sending for you. You have a central dashboard where you can view all your sites and see their status. And the best of all: You can add multiple notification channels. Want to get a message on a slack channel, or a card on your trello board? This one is for you.

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>/

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

Uploaded Source

Built Distribution

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