~linuxgoose/feedpigeon

Feeds by Email https://feedpigeon.co.uk/
~linuxgoose/feedpigeon

New ticket tracker added

4 days ago
~linuxgoose/feedpigeon-discuss

New mailing list added

4 days ago

#๐Ÿฆ FeedPigeon

FeedPigeon is a FastAPI-powered service that delivers RSS, Atom, and JSON feed updates straight to your email inbox. Built with modularity in mind, it includes:

  • ๐Ÿ“จ pigeon: A mail service for sending queued email
  • ๐Ÿชถ featherwatch: A real-time log and status monitor
  • ๐Ÿง  feedpigeon: The main subscription and feed delivery API and UI

Stay up-to-date on your favorite content โ€” automatically and reliably.


#๐ŸŒŸ Features

  • ๐Ÿ“ฅ Subscribe to RSS/Atom and JSON feeds - either from the UI or all through email
  • ๐Ÿ“ง Receive updates via email at your chosen frequency
  • ๐Ÿฆ pigeon handles email queue processing and delivery
  • ๐Ÿ” featherwatch provides a simple UI or API for log/event monitoring
  • ๐Ÿš€ Built with FastAPI and served by Uvicorn
  • โฑ Background tasks for feed polling and scheduling
  • ๐Ÿ“œ Clean HTML or Markdown email formatting

#๐Ÿงฑ Services Overview

Service Description Entrypoint
feedpigeon Main API for feed management and subscriptions main.py
pigeon Mailer service to send queued emails pigeon.py
featherwatch Log/status monitor feather_watch.py

#๐Ÿš€ Quickstart

#1. Clone & Install

git clone https://gitlab.com/yourusername/feedpigeon.git
cd feedpigeon
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

#2. Configure .env

See the .env_template file.

#๐Ÿ”ง Running Services

uvicorn main:app --reload --port 9000

uvicorn pigeon:app --reload --port 9050

uvicorn feather_watch:app --reload --port 9052

#๐Ÿ“ซ Feed Subscription Flow

  • User submits their email + feed URL via subscribe@feedpigeon.co.uk or through the UI
  • FeedPigeon stores subscription and schedules checks
  • Background job fetches feed items
  • New items are pushed to the mail queue
  • pigeon picks them up and sends via email
  • featherwatch monitors logs/status in real time (in conjunction with GitLab Sentry SDK for error reporting)

#๐Ÿ“š API Endpoints

More API endpoints to come.

#๐Ÿงช Development & Testing

Pytest will be used.

#๐Ÿ“„ License

See LICENSE.

#๐Ÿ™Œ Credits

  • FastAPI
  • Feedparser
  • Uvicorn
  • Jinja2

FeedPigeon: ๐Ÿฆ Stay informed, effortlessly. Easy as flap.