Skip to main content

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

Project description

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_planet-1.1.1.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_planet-1.1.1-py3-none-any.whl (43.2 kB view details)

Uploaded Python 3

File details

Details for the file django_planet-1.1.1.tar.gz.

File metadata

  • Download URL: django_planet-1.1.1.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for django_planet-1.1.1.tar.gz
Algorithm Hash digest
SHA256 3fd5ac4769fbec218a79c82bdaf49a7fd9dcb516731319e2ef11097752454027
MD5 bbac781c79e5b7ef6e8dd5a57a7b07a8
BLAKE2b-256 f5217436b79a63f30b1bba189aaba8ab4e26ef96a7ce33ed4195d6d96da0828e

See more details on using hashes here.

File details

Details for the file django_planet-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: django_planet-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 43.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for django_planet-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be20bcced3ee27d694fb649358e5195e28805fd6a78c095c9aa7579cfcccee2c
MD5 b5cdb8c62c8246795ba95c19a41b76ce
BLAKE2b-256 596816deb6217c49df6a81c1478ace0c3485a405a4b00a6c81432608ba515bb8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page