Filter public RSS feeds, remove articles that contain certain keywords or categories.
Project description
django-rss-filter
This is a Django app that creates filtered RSS feeds. It does this by filtering exsiting RSS feeds, removing articles that match filtered words and/or filtered categories. It's what powers https://www.rssfilter.com.
It comes with one view that returns the filtered feed XML, as well as Django Admin configuration to make it possible and easy to self-host your own instance of django-rss-filter. It does not come with views to create or edit filtered feeds; this can be done using the Django Admin.
Getting started
All instructions use uv, but should work just as well with pip or Poetry for example.
In an existing Django project:
- Install:
uv add django-rss-filter - Add
rssfiltertoINSTALLED_APPS uv run ./manage.py migrate- Include the URL config:
path("", include("rssfilter.urls"))
If you don't have a Django project yet, these are the steps to get started:
uv init my-django-projectcd my-django-projectuv add djangouv run django-admin startproject my_django_app .uv run ./manage.py migrateuv run ./manage.py createsuperuseruv run ./manage.py runserver
This will get you up and running with a working Admin site at http://127.0.0.1:8000/admin/.
Then follow the first four steps to add django-rss-filter to your Django project.
Example project
There's an example Django project using django-rss-filter under example/.
cd exampleuv run ./manage.py migrateuv run ./manage.py createsuperuseruv run ./manage.py runserver
You can then go to http://127.0.0.1:8000/admin/ to create a feed, which you can then access at http://127.0.0.1:8000/[feed_uuid]/.
Settings
There is one setting that can be configured: RSS_FILTER_CACHE_SECONDS. The default value is 300 (5 minutes).
This setting controls how long a feed will be cached before it's fetched, filtered, and stored again.
Tests
Unit tests can be run with uv run pytest.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_rss_filter-0.6.0.tar.gz.
File metadata
- Download URL: django_rss_filter-0.6.0.tar.gz
- Upload date:
- Size: 35.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cb8d9c533ead95a4bb6169f67da4ba0b07a117a7340ac20db0cd92dce888afa
|
|
| MD5 |
b18a3c3b9765c77f9f56cbf01f4be8a8
|
|
| BLAKE2b-256 |
7a9030ae580f5c2383276d9eab1f0ae94efbbac5d3177a0fbbdd79f8e63d7983
|
File details
Details for the file django_rss_filter-0.6.0-py3-none-any.whl.
File metadata
- Download URL: django_rss_filter-0.6.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a1970af0cbff0fe6582653c8f93b96ff8ac982d63d1f69cce46428510806d7b
|
|
| MD5 |
b7324428b112ec6de714898f1b225569
|
|
| BLAKE2b-256 |
e1b24de157290022f5472a70e76c5a81ee6a12f31eaf9e29108c299e454c8ac2
|