Skip to content

NaughtyRobot/PyCUI-RSS-Reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📰 PyCUI RSS Reader

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.

📰 Version 1.1.0 — "Smarter, Smoother, Simpler"

  • 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

✨ Features

  • 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

🧠 TL;DR Summaries (Optional)

You can enable the built-in AI summary feature using Google's Gemini models.

  1. Create a free API key from Google AI Studio.
  2. Launch the app and press T on any article or bookmark.
  3. When prompted, paste your API key into the popup and press Enter.
  4. The key will be saved automatically in a .env file 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.

📷 Screenshots

Screenshot Screenshot Screenshot Screenshot

🎹 Key Bindings

↑ / ↓ 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.

⚙️ Requirements

Python 3.9+

Dependencies:

pip install py-cui feedparser trafilatura google-genai

Glow (for Markdown article rendering)

💾 Installation

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

▶️ Usage

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.

📦 Notes

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.

🧭 Roadmap

  • Optional OPML import/export

  • Read/unread article tracking

🧡 Credits

  • Built by me, NaughtyRobot, using

  • PyCUI for the TUI

  • Glow for Markdown rendering

  • Google Gemini 2.5 Flash Lite for article summaries