News_at_12¶
A self-hosted RSS headline aggregator built with Python, Flask, and SQLite. Fetches feeds concurrently, deduplicates articles, and serves them through a Jinja2 frontend and a versioned REST API with Swagger documentation.
Contents
Overview¶
News_at_12 is a single-user personal tool designed to aggregate RSS headlines from multiple sources into one place. It runs on a self-hosted Linux machine and is accessed through a local web browser.
Key components:
news_at_12.py— core aggregation engine: fetching, parsing, deduplication, and database storageapp.py— Flask application serving the Jinja2 frontend and registering the API blueprintapi.py— REST API blueprint with versioned endpoints and Flasgger/Swagger documentation
Stack:
Python 3.12
Flask + Flasgger
SQLite (via
sqlite3)feedparser
Tailwind CSS (CDN) + Gruvbox light theme
API Reference¶
The interactive Swagger UI is available at /apidocs when the application
is running. The REST API is versioned under /api/v1/.