Skip to main content

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:

  1. Install: uv add django-rss-filter
  2. Add rssfilter to INSTALLED_APPS
  3. uv run ./manage.py migrate
  4. Include the URL config: path("", include("rssfilter.urls"))

If you don't have a Django project yet, these are the steps to get started:

  1. uv init my-django-project
  2. cd my-django-project
  3. uv add django
  4. uv run django-admin startproject my_django_app .
  5. uv run ./manage.py migrate
  6. uv run ./manage.py createsuperuser
  7. uv 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/.

  1. cd example
  2. uv run ./manage.py migrate
  3. uv run ./manage.py createsuperuser
  4. uv 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


Download files

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

Source Distribution

django_rss_filter-0.6.0.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

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

django_rss_filter-0.6.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

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

Hashes for django_rss_filter-0.6.0.tar.gz
Algorithm Hash digest
SHA256 2cb8d9c533ead95a4bb6169f67da4ba0b07a117a7340ac20db0cd92dce888afa
MD5 b18a3c3b9765c77f9f56cbf01f4be8a8
BLAKE2b-256 7a9030ae580f5c2383276d9eab1f0ae94efbbac5d3177a0fbbdd79f8e63d7983

See more details on using hashes here.

File details

Details for the file django_rss_filter-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_rss_filter-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a1970af0cbff0fe6582653c8f93b96ff8ac982d63d1f69cce46428510806d7b
MD5 b7324428b112ec6de714898f1b225569
BLAKE2b-256 e1b24de157290022f5472a70e76c5a81ee6a12f31eaf9e29108c299e454c8ac2

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