Skip to content

matagus/django-planet

django-planet

Python Compatibility Django Compatibility PyPi Version CI badge codecov License Docs Live Demo

A reusable Django app for building RSS/Atom feed aggregator websites (aka "Planet" sites).

Django-planet makes it easy to create a planet-style feed aggregator. Collect posts from multiple blogs and websites, store them in your database, and display them with built-in views and templates—or build your own custom front-end.

Live Demo: A planet for Django-related feeds

Post List

✨ Features

  • RSS and Atom feed parsing - Supports both RSS and Atom feed formats via feedparser
  • Automatic feed updates - Management commands to add feeds and update all feeds
  • Blog, Feed, Post, and Author models - Complete data model with relationships
  • Built-in views and templates - Ready-to-use views for blogs, feeds, posts, and authors
  • Django admin integration - Manage all content through Django's admin interface
  • Search functionality - Built-in search across posts, blogs, feeds, and authors
  • SEO-friendly URLs - Slugified URLs with automatic redirects
  • Custom managers - QuerySet methods for filtering by blog, feed, author
  • Template tags - Custom template tags for common operations
  • Pagination support - Uses django-pagination-py3 for easy pagination
  • Post filtering - Configurable filter backends to accept only relevant posts
  • Content archiving - Optionally fetch and store the full original content of posts

📦 Quick Start

pip install django-planet
INSTALLED_APPS = [
    # ...
    "planet",
    "pagination",
]

MIDDLEWARE = [
    # ...
    "pagination.middleware.PaginationMiddleware",
]
python manage.py migrate

Then include the URLs in your urls.py:

path("", include("planet.urls")),

Full installation & configuration guide

📖 Documentation

🧪 Testing

hatch run test:test   # full suite
hatch run test:cov    # with coverage

See the contributing guide for the full test matrix and setup instructions.

📄 License

django-planet is released under the BSD 3-Clause License - see the LICENSE file for more information.

🙏 Acknowledgements

Hatch project linting - Ruff code style - black

Inspired by Feedjack and Mark Pilgrim's Feedparser.

💬 Support

About

A django planet and feeds (RSS and ATOM) aggregator application for Django

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors

Languages