{"id":13594344,"url":"https://github.com/davep/oshit","last_synced_at":"2025-04-07T17:09:36.440Z","repository":{"id":214933860,"uuid":"735603206","full_name":"davep/oshit","owner":"davep","description":"OSHit - Get your hit of the Orange Site in the terminal","archived":false,"fork":false,"pushed_at":"2024-12-11T14:40:25.000Z","size":1987,"stargazers_count":52,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T00:37:12.741Z","etag":null,"topics":["hacker-news","hacker-news-client","hacker-news-reader","hackernews","hackernews-client","hackernews-reader","python","python3","terminal","terminal-based","textual"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/oshit/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davep.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"davepearson"}},"created_at":"2023-12-25T14:06:07.000Z","updated_at":"2025-03-13T22:11:30.000Z","dependencies_parsed_at":"2024-06-09T11:26:43.529Z","dependency_job_id":"d8247a8b-4d61-4bfc-af11-c6fb38e67ad0","html_url":"https://github.com/davep/oshit","commit_stats":null,"previous_names":["davep/oshit"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davep%2Foshit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davep%2Foshit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davep%2Foshit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davep%2Foshit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davep","download_url":"https://codeload.github.com/davep/oshit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694876,"owners_count":20980733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacker-news","hacker-news-client","hacker-news-reader","hackernews","hackernews-client","hackernews-reader","python","python3","terminal","terminal-based","textual"],"created_at":"2024-08-01T16:01:32.039Z","updated_at":"2025-04-07T17:09:36.403Z","avatar_url":"https://github.com/davep.png","language":"Python","funding_links":["https://ko-fi.com/davepearson"],"categories":["Python"],"sub_categories":[],"readme":"# OSHit -- Get your hit of the Orange Site in the terminal\n\n## Introduction\n\nOSHit is a read-only terminal-based client for HackerNews. It provides the\nability to view all the top/recent items in the major categories, as well as\nallowing viewing comments and user details. Where relevant, bindings are\nalways available to open the relevant view on HackerNews itself in your web\nbrowser.\n\nPlease note that this client *isn't* designed to allow reading any and all\nstories on HackerNews, it's about reading what's current \"hot\" or new,\nwithin the categories provided by [their\nAPI](https://github.com/HackerNews/API).\n\n## Installing\n\n### pipx\n\nThe package can be installed using [`pipx`](https://pypa.github.io/pipx/):\n\n```sh\n$ pipx install oshit\n```\n\n### Homebrew\n\nThe package can be installed using Homebrew. Use the following commands to\ninstall:\n\n```sh\n$ brew tap davep/homebrew\n$ brew install oshit\n```\n\n## Running\n\nOnce installed run the `oshit` command.\n\n## Main features\n\nWhen run up the opening display is a list of items, the initial list being\nthe current top stories and jobs on HackerNews. Other lists available, via\nshortcut keys or via tabs at the top of the screen, are \"New\", \"Best\",\n\"Ask\", \"Show\" and \"Jobs\".\n\n![The main index](https://raw.githubusercontent.com/davep/oshit/main/images/oshit-index.png)\n\nPressing \u003ckbd\u003eu\u003c/kbd\u003e when viewing a job or a comment will open a dialog\nthat shows the details of the user who posted the item.\n\n![Viewing user details](https://raw.githubusercontent.com/davep/oshit/main/images/oshit-user-dialog.png)\n\nWhen viewing a story or job and pressing \u003ckbd\u003ec\u003c/kbd\u003e a dialog will open\nthat will let you view and navigate its comments.\n\n![Viewing comments](https://raw.githubusercontent.com/davep/oshit/main/images/oshit-comments.png)\n\n## Tweaking\n\nBecause of the nature of the HackerNews API there might be a need for you to\ndial in the ideal number of concurrent connections made to load up the data,\nand also the timeout for the connections. As of the time of writing the\ndefaults are 50 concurrent connections and a timeout of 20 seconds.\n\nIf you run into problems press \u003ckbd\u003eF11\u003c/kbd\u003e and tweak the maximum\nconcurrency and connection timeout values to taste (or look in\n`~/.config/oshit/configuration.json` and change the `\"maximum_concurrency\"`\nand `\"connection_timeout\"` values).\n\n## Getting help\n\nIf you need help, or have any ideas, please feel free to [raise an\nissue](https://github.com/davep/oshit/issues) or [start a\ndiscussion](https://github.com/davep/oshit/discussions).\n\n## TODO\n\nThings I'm considering adding or addressing:\n\n- [X] Chill out on item loading (see [#2](https://github.com/davep/oshit/issues/2))\n- [ ] Add a configuration dialog for the connection value tweaks.\n- [ ] Some degree of caching of items to reduce API hits.\n- [ ] Expand the text-cleaning code to handle links, etc.\n- [ ] Look at some \"markup\" of comments, eg: make quoted text more obvious.\n- [ ] Add searching\n  - [X] Amongst the current view\n  - [ ] Amongst loaded comments within comment view\n  - [ ] All of history ([`hn.algolia.com`](https://hn.algolia.com/api))\n\n[//]: # (README.md ends here)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavep%2Foshit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavep%2Foshit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavep%2Foshit/lists"}