django-feedme icon indicating copy to clipboard operation
django-feedme copied to clipboard

Google Reader replacement app in Python/Django

Django Feed Me

Looking For Authors! This project is currently looking for a user to take it over. If that sounds like you, send a note to derek at stegelman dot com or open up an issue in this repository.

Build Status Pypi Version

Django Feed Me is a replacement for Google Reader. It keeps track of your feeds, fetches the RSS feeds and parses them in an easy to read interface. This is currently in development. The app works as POC using the Django Admin. A separate interface for adding feeds is coming down in the pipeline.

image

Installation

To install FeedMe simply:

pip install django-feedme

Add feedme to your installed apps. Add route a url to feedme.urls

Make sure to syncdb or migrate the app:

python manage.py syncdb
python manage.py migrate

If you want to use Celery for fetching (Recommended) then add:

FEED_UPDATE_CELERY = True

to your settings file. Make sure you've installed and configured Celery properly. The syntax used should be good for both Celery 2 and 3.

This app bundles static and works out of the box with django static files. If you aren't collecting static you'll need to copy the static directory to where ever you serve static from.

You need to provide a login view that Feedme can use to provide a login link when the user isn't logged in. This is referenced as auth_login by name.

url(r'^something/$', your.login.view, name='auth_login')

You will also need to provide a LOGIN_URL as well.

Dependencies

As of FeedMe 1.0 feedme requires Django 1.8 and above.

Feedme also requires the use of the django-bootstrap-static library for some static files. It is bundled in setup.py so by installing this package it should already be downloaded to your machine. In order to have the bootstrap files picked up by your static files handler, you'll need to add bootstrap to installed apps. This will allow Django's static files to pick up the bootstrap files.

Celery Beat

To make use of the Celery beat schedule to automatically update feeds at given intervals, open your settings file and enter something like the following:

import datetime


CELERYBEAT_SCHEDULE = {
    "feed-updates": {
        "task": "update_all_feeds",
        "schedule": datetime.timedelta(hours=1),
        },
    }

More documentation for Celery can be found at the CeleryProject.

Feedme Digest

You can enable the daily email digest of new feed items by setting up the from email setting and enabling the Celery Beat task.::

FEEDME_FROM_EMAIL = '[email protected]'

and add the Task::

import datetime


CELERYBEAT_SCHEDULE = {
    "feedme-digest": {
    "task": "send_digest",
    "schedule": crontab(minute=0, hour=0),
        },
    }

Contributions

Please place all bug reports in Github Issues. Pull requests are welcome and encouraged!!

Documentation

This document and more formal documentation at http://django-feedme.readthedocs.org/en/latest/

Additional Planned Features

  • Add and manage feeds from the front end (rather than Django Admin)
  • Look and Feel updates
  • Tests

Questions/Comments/Hate Mail?

Drop an issue in Github and I'll be sure to find it.