Project

feed-summarizer

stable

LLM-powered RSS digest — full-text extraction, runs on a Raspberry Pi.

Overview

Cron-job RSS/Atom summarizer. Fetches feeds, extracts full article text with readability-lxml, batches prompts to Azure OpenAI, and writes static HTML and JSON digests. No daemon, no database. Powers feeds.carmo.io.

How it works

The fetcher pulls feed entries, fetches linked pages when needed, and uses readability-lxml to extract the article body. Summaries are generated via Azure OpenAI, then published as static HTML and JSON output. Add it to crontab and forget it.

Features
📰
Full-text extraction

readability-lxml extracts the article body, not just the RSS description.

🤖
Azure OpenAI summarization

Uses the OpenAI Python client against Azure OpenAI for async summarization.

Cron-friendly

One Python script, no daemon.

📄
Static output

Writes both HTML and JSON digests for publishing.

Architecture
RSS / Atom / Mastodon OPML + config Fetcher asyncio workers SQLite articles + state Summarizer LLM-powered LLM provider OpenAI / Anthropic / local Publisher Atom feed output Azure Blob optional upload asyncio pipeline — fetch → summarize → publish → upload
Posts