rss-flow-cli
Lightweight CLI & TUI RSS reader for terminal lovers.
rss-flow-cli is a modern, fast, and feature-complete RSS/Atom/JSONFeed reader designed specifically for terminal enthusiasts. It provides a full interactive TUI built with Textual, a command-line engine built with Typer, and instant full-text search powered by SQLite FTS5.
Key Features
- Split-Pane & Reader TUI: Side-by-side feed navigation, unread badges, full article renderer, and clean dark/light themes.
- SQLite + FTS5 Full-Text Search: Fast local database indexing across all feed titles, article summaries, and full extracted text.
- Offline Readability Mode: Extract complete web article content from truncated RSS snippets with a single keypress or automatic background rule.
- OPML 2.0 Import & Export: Effortlessly import or export feed collections, preserved categories, and folder hierarchies.
- Auto-Filtering & Tagging Rules: Define custom regex rules to automatically star, tag, or mark articles read.
- External Server Synchronization: Compatible with Miniflux / Fever / Google Reader API standards.
- Modern CLI Utility: Perform headful or headless feed syncing, searching, adding feeds, and OPML exports right from your shell.
Installation
Via pip
pip install rss-flow-cli
Via uv
uv tool install rss-flow-cli
Quick Start
Launch the Interactive TUI
rss-flow tui
# or simply
rss-flow
CLI Commands
# Add a new feed
rss-flow add https://news.ycombinator.com/rss --category Tech
# List subscribed feeds
rss-flow list
# Sync all feeds
rss-flow sync
# Search articles using SQLite FTS5
rss-flow search "python release"
# Import OPML subscriptions
rss-flow import subscriptions.opml
# Export OPML subscriptions
rss-flow export backup.opml
# Mark all articles in a feed as read
rss-flow mark-read --feed 1
TUI Controls & Shortcuts
| Shortcut | Description |
|---|---|
q |
Quit application |
r |
Refresh / Sync all feeds |
a |
Add new feed dialog |
s |
Toggle starred status |
m |
Toggle read / unread status |
e |
Extract full web article readability |
o |
Open article link in web browser |
/ |
Focus search bar |
t |
Cycle UI themes (Dark / Light / Catppuccin / Nord / Dracula) |
? |
Toggle keybindings help dialog |
Architecture & Development
Built with modern Python standards:
- TUI Framework: Textual
- CLI Engine: Typer & Rich
- Database / ORM: SQLModel & SQLite FTS5
- Feed Parser:
httpx+feedparser - Build System: Hatchling (PEP 621)
License
Copyright (C) 2026 Rupam Ghosh <hulo@crine.in>.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rss_flow_cli-0.1.0.tar.gz.
File metadata
- Download URL: rss_flow_cli-0.1.0.tar.gz
- Upload date:
- Size: 131.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a876fcc4f8d77e8bf24eaaa179bff59c2286cc3c4784be69d42aea734947eba1
|
|
| MD5 |
d3b314c543e01a545769bb9e1068cc71
|
|
| BLAKE2b-256 |
0f899bdeff9a8cc4f5f61047cc1348566919adfd9f98561752099393c3f85cdf
|
File details
Details for the file rss_flow_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rss_flow_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 34.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8081774a2ddf5f77fa4bcf08f58d4df91c3597773be8fd80bc135d80c25e014
|
|
| MD5 |
9cd84b37a1c38b83dd922d6d97c8a7e5
|
|
| BLAKE2b-256 |
36088ad02b0a359128648bdad66cf75212b4102016e5058e290c1c604833d34a
|