No description
- Python 91.1%
- CSS 8.9%
| .gitignore | ||
| .python-version | ||
| charts.py | ||
| earnings.py | ||
| main.py | ||
| pyproject.toml | ||
| README.md | ||
| stocktwits.py | ||
| tui.css | ||
| uv.lock | ||
Stocktwits RSS TUI Reader
A multi-pane native Text User Interface (TUI) for Stocktwits and Earnings, built with Textual.
Features
- Triple-Pane Layout:
- Top Left (50% vertical, 60% horizontal): Real-time Trending messages.
- Bottom Left (50% vertical, 60% horizontal): Live feed for a specific ticker symbol.
- Top Right (50% vertical, 40% horizontal): Upcoming earnings reports for the next 4 days.
- Bottom Right (50% vertical, 40% horizontal): 3-month price history chart for the selected ticker.
- Interactive Charts: Visual stock price history using Plotext.
- Dynamic Ticker Selection: Change the symbol feed and chart on the fly using a hotkey.
- Black Background: High-contrast, modern terminal aesthetic.
- Automatic Highlighting: Stock tickers are automatically highlighted in bold royal blue.
- Live Updates: Background refreshing for all panes simultaneously.
Keybindings
q: Quit the application.r: Manual refresh of all feeds.s: Change the ticker for the symbol pane.Esc: Cancel the ticker change prompt.
Installation
This project uses uv. If you don't have it, install it from astral.sh/uv.
# Clone the repository
git clone https://github.com/ghostnomad/rss-reader
cd rss-reader
# Run the TUI
uv run main.py
Usage Options
--interval/-i: Refresh interval in seconds (default: 30)--limit/-l: Number of messages to fetch per pane (default: 20)
Example with custom refresh rate:
uv run main.py --interval 60
License
MIT