Skip to main content

Hacker News + Reddit + lobste.rs terminal feed viewer

Project description

grokfeed

Terminal feed reader for Hacker News, Reddit, and lobste.rs.

License: MIT PyPI version Python versions GitHub release CI

Features

  • Unified scrollable feed from HN, Reddit subreddits, and lobste.rs
  • Color-coded by source: HN orange, lobste.rs red, subreddits in a cycling palette
  • Read text posts and Ask HN inline — no browser needed
  • Split view with post body and threaded comments side by side
  • Filter feed by source, refresh on demand, paginate with m
  • Config file at ~/.grokfeed/config.toml — created automatically on first run

Install

Homebrew (macOS/Linux)

brew tap emarkou/grokfeed
brew install grokfeed

pip

pip install grokfeed

pipx (isolated install)

pipx install grokfeed

From source

Requires Python 3.11+.

git clone https://github.com/emarkou/grokfeed.git
cd grokfeed
pip install -e .

On first run, a config file is created at ~/.grokfeed/config.toml. Edit it to change subreddits:

nano ~/.grokfeed/config.toml
subreddits = ["programming", "ClaudeAI", "machinelearning"]
hn_story_count = 30
reddit_post_count = 15
lobsters_post_count = 25
cache_ttl_minutes = 10

Run grokfeed — changes take effect on next launch or press r to refresh.

Demo

Demo

Key bindings

Main feed

Key Action
j / Move down
k / Move up
Enter Open post + comments split view
f Cycle source filter (All → HN → r/sub → lobste.rs → …)
m Load more stories
r Refresh all sources
q Quit

Split view

Key Action
j / Scroll down
k / Scroll up
Tab Switch between post and comments pane
o Open URL in browser
q / Esc Close

Config

~/.grokfeed/config.toml — created on first run with defaults.

Key Default Description
subreddits ["programming", "python", "machinelearning"] Subreddits to include
hn_story_count 30 HN stories per fetch
reddit_post_count 15 Posts per subreddit per fetch
lobsters_post_count 25 lobste.rs posts per fetch
cache_ttl_minutes 10 Minutes before refreshing cache

Tech stack

Library Role
Textual TUI framework
httpx Async HTTP client
Click CLI entry point

Related posts:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grokfeed-0.3.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grokfeed-0.3.0-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file grokfeed-0.3.0.tar.gz.

File metadata

  • Download URL: grokfeed-0.3.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for grokfeed-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1443eb8257d91da134c61b59ef63cd0c23e174b9a0fb18873afc1257319b7350
MD5 8b9587020016f939b47591bd9808eeaa
BLAKE2b-256 476cf7bfe75b71227480c6e27a931c4476bb08e73749bc2d417354161bc97f70

See more details on using hashes here.

Provenance

The following attestation bundles were made for grokfeed-0.3.0.tar.gz:

Publisher: release.yml on emarkou/grokfeed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file grokfeed-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: grokfeed-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for grokfeed-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a77a5168f5d2fea50294f5fb48becc08c7ade1375527e6f7debc065ae9532537
MD5 56556624bbd2ec94c3cbb1063439e8f5
BLAKE2b-256 5dee2eda512411f459eaf65b0157773bd1faaabe84f310569a4806baf99b40df

See more details on using hashes here.

Provenance

The following attestation bundles were made for grokfeed-0.3.0-py3-none-any.whl:

Publisher: release.yml on emarkou/grokfeed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page