Skip to main content

Hacker News in your terminal

Project description

Hacker news in your terminal.

https://raw.github.com/socketubs/pyhn/master/screenshot.png

Don’t be worry about your IP. Pyhn is not aggressive, it uses cache.

  • Cache manager

  • Customize all the colors

  • Customize all the keybinds

  • Default vim-like keybindings

  • Compatible with Top, Ask, Show and Job stories

  • Auto refresh support

  • Play nice with tmux and screen (over ssh too!)

  • Open storiers in your commandline web browser

  • Mouse support

  • Easily installable

  • Easily hackable

  • Ultra fast

  • Python 2 and 3

  • MIT license

Installation

Using pip:

pip install pyhn

Run it:

pyhn

Arch Linux

pyhn is available in the AUR.

Usage

Use help for all key bindings:

  • h, ?: Print help popup

Configuration

By default, configuration file is in your $HOME/.pyhn/config. You can set key bindings, colors and more.

This is an example file:

[keybindings]
open_story_link = S,enter
show_story_link = s
open_comments_link = C
show_comments_link = c
open_user_link = U
show_user_link = u
up = j
down = k
page_up = ctrl d
page_down = ctrl u
first_story = g
last_story = G
refresh = r,R
reload_config = ctrl r,ctrl R

newest_stories = n
top_stories = t
best_stories = b
show_stories = d
show_newest_stories = D
ask_stories = a
jobs_stories = J

[settings]
cache = /home/socketubs/.pyhn/cache
cache_age = 5
# Refresh interval in minutes (default: 5. minimum: 1)
refresh_interval = 5
browser_cmd = __default__

[colors]
body = default|
focus = white,bold|dark cyan
footer = black|light gray
footer-error = dark red,bold|light gray
header = black,bold|light gray
title = dark red,bold|light gray
help = black,standout|dark cyan

Settings

  • cache_age is a minute indicator which say to CacheManager when cache is outdated

  • browser_cmd is a bash command which will be use to open links

Examples:

browser_cmd = lynx __url__
browser_cmd = __default__
browser_cmd = w3m __url__
browser_cmd = echo "[INFO] Open with w3m: __url__" >> /tmp/pyhn.log && w3m __url__

Key bindings

You can set different key bindings for same action with a comma separator. Take a look at urwid input manual.

Colors

Colors options are designed like that: foreground|background|monochrome.

foreground

  • colors: ‘default’ (use the terminal’s default foreground), ‘black’, ‘dark red’, ‘dark green’, ‘brown’, ‘dark blue’, ‘dark magenta’, ‘dark cyan’, ‘light gray’, ‘dark gray’, ‘light red’, ‘light green’, ‘yellow’, ‘light blue’, ‘light magenta’, ‘light cyan’, ‘white’

  • settings: ‘bold’, ‘underline’, ‘blink’, ‘standout’

background

  • colors: ‘default’ (use the terminal’s default background), ‘black’, ‘dark red’, ‘dark green’, ‘brown’, ‘dark blue’, ‘dark magenta’, ‘dark cyan’, ‘light gray’

monochrome

  • settings : ‘bold’, ‘underline’, ‘blink’, ‘standout’

For more informations you can take a look at urwid manual.

License

License is MIT. See LICENSE.

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

pyhn-0.3.11.tar.gz (17.6 kB view details)

Uploaded Source

File details

Details for the file pyhn-0.3.11.tar.gz.

File metadata

  • Download URL: pyhn-0.3.11.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for pyhn-0.3.11.tar.gz
Algorithm Hash digest
SHA256 b4a247a55cda16041ece0998cf538992602c18de3335b99d3ea410f122a6aa81
MD5 e742e4cc9b29bc4fdcccbbd94d83a486
BLAKE2b-256 8427abc6ddfcc02aad487ca575ca0ac574ba21027d37dd1f28833d8422681daf

See more details on using hashes here.

Supported by

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