A lightweight terminal-based RSS reader built with PyCUI and Glow
It focuses on simplicity, responsiveness, and minimalism — a clean, no-fuss reading experience entirely in your terminal.
- Added automatic feed refreshing based on a global interval
- Introduced TL;DR summaries powered by Gemini 2.5 Flash Lite (press T on any article or bookmark)
- Improved API key handling and validation
- Enhanced error handling and startup logic
- Minor UI tweaks and documentation updates
-
Browse, add, and delete RSS feeds
-
TL;DR summaries powered by Gemini 2.5 Flash Lite
-
View article headlines and read full stories in Markdown via Glow
-
Bookmark stories for later
-
Export articles or bookmarks as markdown files for later reading
-
Refresh individual feeds on demand
-
Automatic feed refreshing based on a global interval
-
Persistent storage via JSON (feeds and bookmarks saved automatically)
-
Compact, intuitive interface built with PyCUI scroll menus and text boxes
-
Keyboard-driven navigation for fast, distraction-free reading
You can enable the built-in AI summary feature using Google's Gemini models.
- Create a free API key from Google AI Studio.
- Launch the app and press T on any article or bookmark.
- When prompted, paste your API key into the popup and press Enter.
- The key will be saved automatically in a
.envfile in the app directory.
Once set up, pressing T will display a concise summary of the selected article, generated by Gemini 2.5 Flash Lite.
↑ / ↓ Navigate through lists
Enter: Select feed / article / bookmark
T: Get a TL;DR summary of the selected artlice / bookmark (Requires a free Google AI Studio API key)
B: Bookmark the selected article
D: Delete feed or bookmark
R: Refresh current feed
S: Save all feeds and bookmarks
X: Export selected article or bookmark as markdown
Q: Quit the app
H: Help popup
All feeds and bookmarks are automatically saved when you quit the application.
Python 3.9+
Dependencies:
pip install py-cui feedparser trafilatura google-genai
Glow (for Markdown article rendering)
git clone https://github.com/NaughtyRobot/PyCUI-RSS-Reader.git
cd PyCUI-RSS-Reader
pip install -r requirements.txt
python3 main.py
Also:
sudo apt install glow
Needed to view Markdown articles
Run from the project root:
python rss_test_02.py
Add your first feed using the text box at the bottom-left and press Enter. Feeds and bookmarks will persist between sessions.
Articles are fetched on demand or and rendered with Glow in Markdown.
Data (feeds and bookmarks) are stored as JSON in the project root.
On first launch, if no feeds exist, you’ll see a helpful prompt to add some.
-
Optional OPML import/export
-
Read/unread article tracking
-
Built by me, NaughtyRobot, using
-
PyCUI for the TUI
-
Glow for Markdown rendering
-
Google Gemini 2.5 Flash Lite for article summaries