Skip to main content

A package to monitor court RSS feeds for keywords.

Project description

CourtRSS 📡

Most federal district courts have RSS feeds with updates on their latest docket entries. CourtRSS makes it easy to stay informed in real-time by polling these and searching for keywords that interest you. If a match is found, CourtRSS displays an alert window or sends a message through Discord webhooks.

Features 🚀

  • Monitor multiple RSS feeds: Add as many RSS feeds as you like and track them all.
  • Customizable keyword search: Define keywords to trigger notifications based on the feed content.
  • Multiple notification methods:
    • A full-screen green window with a clickable link.
    • Discord webhook notifications.
  • Retry logic for failed feed fetches (with configurable retry attempts and intervals).
  • Easy configuration through a YAML file or CLI arguments.

How It Works 👇

You can install CourtRSS directly from PyPI:

pip install courtrss

Usage 🎯

Once installed, you can run CourtRSS in two ways:

1. Using a YAML Configuration File

This is the easiest and most flexible option. Here's how you can set it up:

rss_urls:
  - https://example.com/rss_feed_1
  - https://example.com/rss_feed_2

keywords:
  - "Neonode"
  - "Tapestry"

interval: 60  # Time interval between feed checks in seconds
retries: 3    # How many times to retry fetching a failed feed
retry_interval: 20  # How long to wait between retries in seconds

notifications:
  - type: window_notification
  - type: discord_webhook
    webhook_url: https://discord.com/api/webhooks/your_webhook_url_here

To run CourtRSS with this config, just call it with the --config argument:

courtrss --config /path/to/config.yaml

2. Using CLI Arguments

If you prefer the command line, you can directly pass RSS URLs and keywords as comma-separated arguments. Like this:

courtrss --rss_urls "https://example.com/rss1,https://example.com/rss2" --keywords "Neonode,Tapestry" --interval 60 --retries 3 --retry_interval 20

This will check the provided feeds every 60 seconds, retry up to 3 times on failure, and notify you about matching entries.

Examples 🎉

Example 1: Court RSS Monitoring with Green Window Notification

Let’s say you want to monitor a couple of court RSS feeds for the keywords "Apple" and "Cisco", and get notified via the full-screen green window:

rss_urls:
  - https://court.example.com/rss_feed_1
  - https://court.example.com/rss_feed_2

keywords:
  - "Apple"
  - "Cisco"

interval: 60

notifications:
  - type: window_notification

Run it like this:

courtrss --config court_monitor.yaml

Every time a keyword match is found, you’ll get a big, green window notifying you about it!

Example 2: Monitoring with Discord Webhook Notifications

You can send the notifications straight to your Discord server. Set up your config.yaml like this:

rss_urls:
  - https://court.example.com/rss_feed_1
  - https://court.example.com/rss_feed_2

keywords:
  - "Verdict"
  - "Sentencing"

interval: 120  # Every 2 minutes

notifications:
  - type: discord_webhook
    webhook_url: https://discord.com/api/webhooks/your_webhook_url_here

Now, CourtRSS will send you messages in your Discord channel whenever a match occurs.

Configuration Options 🔧

  • rss_urls: List of RSS feed URLs you want to monitor.
  • keywords: Keywords that will trigger notifications if found in the feed title or summary.
  • interval: Time interval (in seconds) between checks. Default is 60 seconds.
  • retries: Number of retries if fetching the feed fails (e.g., server issues). Default is 3 retries.
  • retry_interval: Time (in seconds) between retries. Default is 60 seconds.
  • notifications: List of notification methods:
    • type: Notification type, either window_notification or discord_webhook.
    • webhook_url: (Only for Discord) The URL of the Discord webhook.

Why CourtRSS? 🤷

  • Real-time notifications: Stay updated as soon as new information comes in.
  • Customizable alerts: Choose between a big, eye-catching green window or a subtle Discord message.
  • Reliable: Built-in retry mechanism ensures you’re not missing anything if a feed is temporarily down.

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

courtrss-0.1.4.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

courtrss-0.1.4-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file courtrss-0.1.4.tar.gz.

File metadata

  • Download URL: courtrss-0.1.4.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for courtrss-0.1.4.tar.gz
Algorithm Hash digest
SHA256 534f6e0a712ff7932d94bd763e4ba44bb02c50f786f0d521f4f459ff93ab4cbf
MD5 f9bf58f2858a1e3ecf983896712eb9ea
BLAKE2b-256 35191f97a10407560d2b68e2620b7c8f03b2510ddfbb8bdd893e2d93101eceb8

See more details on using hashes here.

File details

Details for the file courtrss-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: courtrss-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for courtrss-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 542ca8811a7df3dc9aef26dbfdc4af17fc18c221d4252ebb9b962a076ec0052e
MD5 0d0572c20bfbd12f627f59e3f7de8b20
BLAKE2b-256 21e850154a334b6039a478577b3cd669bc925475ccf81b35f03650b1629f7b95

See more details on using hashes here.

Supported by

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