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.
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_updater-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 786c4f3b61c499301f92864a8e78280f6fc836fd314edc9221809d794e3dff14 |
|
MD5 | 7e8caf007a3322d9ce7f7d9bde337378 |
|
BLAKE2b-256 | e98ecddcb1c0ee22577e1a08910be2b681dae6b51034a8a8260230aec8868018 |