Skip to main content

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.

Metadata

Release files for courtrss 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for courtrss 0.1.4
File Size Uploaded Provenance Actions
courtrss-0.1.4.tar.gz 6.0 kB Without provenance Details for courtrss-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for courtrss 0.1.4
File Interpreter ABI Platform Actions
courtrss-0.1.4-py3-none-any.whl Python 3 none any Details for courtrss-0.1.4-py3-none-any.whl

Total release size: 12.4 kB

Release files / courtrss-0.1.4.tar.gz

Download URL courtrss-0.1.4.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
534f6e0a712ff7932d94bd763e4ba44bb02c50f786f0d521f4f459ff93ab4cbf
BLAKE2b-256 checksum
How to use checksums
35191f97a10407560d2b68e2620b7c8f03b2510ddfbb8bdd893e2d93101eceb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Release files / courtrss-0.1.4-py3-none-any.whl

Download URL courtrss-0.1.4-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
542ca8811a7df3dc9aef26dbfdc4af17fc18c221d4252ebb9b962a076ec0052e
BLAKE2b-256 checksum
How to use checksums
21e850154a334b6039a478577b3cd669bc925475ccf81b35f03650b1629f7b95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.3

Security for courtrss 0.1.4

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page