├── .codespellrc ├── .github ├── FUNDING.yml └── workflows │ └── code-checks.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── ChangeLog.md ├── LICENSE ├── Makefile ├── README.md ├── images ├── oshit-comments.png ├── oshit-index.png └── oshit-user-dialog.png ├── pyproject.toml ├── src └── oshit │ ├── __init__.py │ ├── __main__.py │ ├── app │ ├── __init__.py │ ├── commands.py │ ├── data │ │ ├── __init__.py │ │ ├── config.py │ │ └── locations.py │ ├── oshit.py │ ├── screens │ │ ├── __init__.py │ │ ├── comments.py │ │ ├── config.py │ │ ├── help.py │ │ ├── links.py │ │ ├── main.py │ │ ├── search.py │ │ └── user.py │ └── widgets │ │ ├── __init__.py │ │ ├── article_text.py │ │ ├── comment_card.py │ │ ├── hacker_news.py │ │ └── items.py │ └── hn │ ├── __init__.py │ ├── client.py │ ├── item │ ├── __init__.py │ ├── article.py │ ├── base.py │ ├── comment.py │ ├── link.py │ ├── loader.py │ ├── poll.py │ └── unknown.py │ ├── text.py │ └── user.py └── uv.lock /.codespellrc: -------------------------------------------------------------------------------- 1 | [codespell] 2 | ignore-words-list=wee 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/code-checks.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/.github/workflows/code-checks.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.13.1 2 | -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/ChangeLog.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/README.md -------------------------------------------------------------------------------- /images/oshit-comments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/images/oshit-comments.png -------------------------------------------------------------------------------- /images/oshit-index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/images/oshit-index.png -------------------------------------------------------------------------------- /images/oshit-user-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/images/oshit-user-dialog.png -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/oshit/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/__init__.py -------------------------------------------------------------------------------- /src/oshit/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/__main__.py -------------------------------------------------------------------------------- /src/oshit/app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/__init__.py -------------------------------------------------------------------------------- /src/oshit/app/commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/commands.py -------------------------------------------------------------------------------- /src/oshit/app/data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/data/__init__.py -------------------------------------------------------------------------------- /src/oshit/app/data/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/data/config.py -------------------------------------------------------------------------------- /src/oshit/app/data/locations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/data/locations.py -------------------------------------------------------------------------------- /src/oshit/app/oshit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/oshit.py -------------------------------------------------------------------------------- /src/oshit/app/screens/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/__init__.py -------------------------------------------------------------------------------- /src/oshit/app/screens/comments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/comments.py -------------------------------------------------------------------------------- /src/oshit/app/screens/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/config.py -------------------------------------------------------------------------------- /src/oshit/app/screens/help.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/help.py -------------------------------------------------------------------------------- /src/oshit/app/screens/links.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/links.py -------------------------------------------------------------------------------- /src/oshit/app/screens/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/main.py -------------------------------------------------------------------------------- /src/oshit/app/screens/search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/search.py -------------------------------------------------------------------------------- /src/oshit/app/screens/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/screens/user.py -------------------------------------------------------------------------------- /src/oshit/app/widgets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/widgets/__init__.py -------------------------------------------------------------------------------- /src/oshit/app/widgets/article_text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/widgets/article_text.py -------------------------------------------------------------------------------- /src/oshit/app/widgets/comment_card.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/widgets/comment_card.py -------------------------------------------------------------------------------- /src/oshit/app/widgets/hacker_news.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/widgets/hacker_news.py -------------------------------------------------------------------------------- /src/oshit/app/widgets/items.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/app/widgets/items.py -------------------------------------------------------------------------------- /src/oshit/hn/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/__init__.py -------------------------------------------------------------------------------- /src/oshit/hn/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/client.py -------------------------------------------------------------------------------- /src/oshit/hn/item/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/__init__.py -------------------------------------------------------------------------------- /src/oshit/hn/item/article.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/article.py -------------------------------------------------------------------------------- /src/oshit/hn/item/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/base.py -------------------------------------------------------------------------------- /src/oshit/hn/item/comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/comment.py -------------------------------------------------------------------------------- /src/oshit/hn/item/link.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/link.py -------------------------------------------------------------------------------- /src/oshit/hn/item/loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/loader.py -------------------------------------------------------------------------------- /src/oshit/hn/item/poll.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/poll.py -------------------------------------------------------------------------------- /src/oshit/hn/item/unknown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/item/unknown.py -------------------------------------------------------------------------------- /src/oshit/hn/text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/text.py -------------------------------------------------------------------------------- /src/oshit/hn/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/src/oshit/hn/user.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davep/oshit/HEAD/uv.lock --------------------------------------------------------------------------------