From 4bd38d9c3062a43e7235d3a6102bfbbe4b4bae78 Mon Sep 17 00:00:00 2001 From: leetcrypt Date: Tue, 7 Jul 2026 15:06:39 -0700 Subject: [PATCH] build: add requirements-operator.txt for phone/Termux operators Operator-only dependency subset (requests, rich, websockets, cryptography>=41, srp) so the C-heavy cryptography>=46 server pin can be satisfied by Termux's packaged build. Server requirements.txt is left unchanged. srp is best-effort: the client falls back to the pure-Python shim when it can't be built. Co-Authored-By: Claude Opus 4.6 --- requirements-operator.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 requirements-operator.txt diff --git a/requirements-operator.txt b/requirements-operator.txt new file mode 100644 index 0000000..b348363 --- /dev/null +++ b/requirements-operator.txt @@ -0,0 +1,21 @@ +# Operator-only dependencies — for running a hack-house operator/user from a +# phone (Termux, aarch64 Android) or any minimal host. See docs/termux-operator.md. +# +# This is deliberately a SUBSET of requirements.txt: the operator never runs the +# Sanic server, so sanic/sanic-ext/pydantic and the test deps are omitted. The +# cryptography floor is relaxed from the server's >=46 to >=41 so Termux's +# packaged build (`pkg install python-cryptography`) satisfies it — the operator +# only uses cryptography.fernet.Fernet, stable for years. Do NOT edit the +# server's requirements.txt pin to match this. +# +# pip install -r requirements-operator.txt +# +# `srp` is a C extension with no reliable aarch64 wheel; if it fails to build, +# the client transparently falls back to cmd_chat/client/_srp_pure (pure Python), +# so this line is best-effort — the operator still works without it. + +requests>=2.32.0 +rich>=14.0.0 +websockets>=15.0.0 +cryptography>=41 +srp==1.0.22