django-planet
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
✨ 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
- Installation & Configuration — Setup, settings reference, and URL configuration
- Usage — Adding feeds, updating feeds, built-in views, and search
- Models — Data model and relationships
- Templates & Template Tags — Built-in templates and custom tags
- Admin Interface — Managing content via Django admin
- Configuration Reference — All settings, post filtering backends, and logging
- Contributing — Development setup and contribution guide
- Demo & Screenshots — Live demo and example project
🧪 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
Inspired by Feedjack and Mark Pilgrim's Feedparser.
💬 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- PyPI: pypi.org/project/django-planet
Metadata
Release files for django-planet 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| django_planet-1.1.1.tar.gz | 27.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_planet-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.6 kB
Release files / django_planet-1.1.1.tar.gz
| Download URL | django_planet-1.1.1.tar.gz |
|---|---|
| Size | 27.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3fd5ac4769fbec218a79c82bdaf49a7fd9dcb516731319e2ef11097752454027
|
|
BLAKE2b-256 checksum How to use checksums |
f5217436b79a63f30b1bba189aaba8ab4e26ef96a7ce33ed4195d6d96da0828e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / django_planet-1.1.1-py3-none-any.whl
| Download URL | django_planet-1.1.1-py3-none-any.whl |
|---|---|
| Size | 43.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be20bcced3ee27d694fb649358e5195e28805fd6a78c095c9aa7579cfcccee2c
|
|
BLAKE2b-256 checksum How to use checksums |
596816deb6217c49df6a81c1478ace0c3485a405a4b00a6c81432608ba515bb8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Security for django-planet 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.