krz/hn

A brutalist web client for Hacker News.

clone: git clone https://gitbay.org/krz/hn.git

7010a8cfb998926b0511f4f07aa65af5c20feb0d

verified · cmc

author: Christian Cleberg <hello@cleberg.net> · 2026-08-23T01:45:07Z

Stop requirements.txt naming standard-library modules

It listed json, urllib.request, pathlib and typing. json and urllib.request have
no distribution on PyPI, so pip install -r requirements.txt failed outright —
the documented install step did not work.

The other two are worse than useless: typing and pathlib exist on PyPI as
backports for Python 2 and 3.4, and installing them on a modern interpreter
shadows the standard library with older implementations.

hn imports nothing outside the standard library; verified by running it with a
bare interpreter. The file stays, empty and commented, so the documented step
still works.
 requirements.txt | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/requirements.txt b/requirements.txt
index 3364031..c20a4d1 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,11 @@
-json
-urllib.request
-pathlib
-typing
\ No newline at end of file
+# hn has no third-party dependencies: json, urllib.request, pathlib, datetime
+# and typing are all standard library.
+#
+# This file previously listed those module names, which made
+# `pip install -r requirements.txt` fail outright — json and urllib.request have
+# no distribution on PyPI. Worse, `typing` and `pathlib` DO exist there as
+# backports for Python 2 and 3.4, and installing them on a modern interpreter
+# shadows the standard library with older implementations.
+#
+# Kept as an empty file rather than deleted so the documented install step still
+# works.