FeedSanity is a minimal, educational RSS reader with built-in data quality validation using Soda Core. It is backend-rendered using FastAPI, Python, and HTML (Jinja2 templates) — no JavaScript frameworks or frontend build tools. Check a live version at: feedsanity.santiviquez.com
- Input an RSS feed URL and view entries in a simple web interface
- Data is parsed, normalized, and validated using Soda Core with a YAML config
- Results show both feed entries and Soda Core validation log
- No database required — uses temporary CSV files
- FastAPI
- feedparser
- pandas
- Jinja2
- Soda Core
- Create an uv environment:
uv venv --python 3.10
- Activate the new environment:
source .venv/bin/activate
- Install dependencies:
uv pip install -r uv.lock
- Run the app:
uvicorn main:app --reload
- Open your browser to http://127.0.0.1:8000
feedsanity/
├── main.py
├── soda_checks/
│ └── checks.yml
├── templates/
│ ├── index.html
│ └── results.html
├── static/
│ └── style.css
├── requirements.txt
├── uv.lock
├── README.md
MIT