Draft GitHub Issue — To be posted at user's discretion
Repository: 0x4m4/hexstrike-ai
Title: Proposal: Officially migrate build system to Astral UV for reproducible installs
Labels: enhancement, build-system, good-first-issue
Summary
The current README recommends a standard python3 -m venv + pip3 install -r requirements.txt workflow. In practice this produces non-deterministic environments, dependency-resolution hangs, and runtime ABI crashes on fresh machines.
Problem Observed
While setting up HexStrike AI v6.0 for an OSINT engagement, the prescribed pip workflow failed to yield a working server. Key issues:
- Dependency Hell —
requirements.txt uses wide ranges (e.g. flask>=2.3.0,<4.0.0) and includes heavy binary-analysis packages (angr, pwntools, mitmproxy). Pip's resolver either backtracked for minutes or installed incompatible versions of bcrypt, cryptography, and requests.
- Python Version Ambiguity — README does not specify a minimum Python version. The system default (3.12) was used, yet some transitive C-extensions compiled against different ABI headers and segfaulted on import.
- No Lockfile — Without a lockfile, every fresh install is a gamble. This is a blocker for CI and team onboarding.
Solution Proposed
Adopt Astral UV as the official build tool:
- Fast: Rust-based resolver installs the full 144-package stack (including compiled wheels like
capstone, unicorn, z3-solver) in ~30 seconds.
- Deterministic: Bit-for-bit reproducible installs via wheel cache.
- Python-version pinning: UV can fetch and lock an explicit CPython version (e.g.
--python 3.12) independent of the host, eliminating ABI/segfault issues.
Immediate Workaround (Documented)
The following was verified to work on Ubuntu 24.04 / Podman host:
# Install UV if not present
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create venv with explicit Python 3.12
uv venv --python 3.12 hexstrike-env
source hexstrike-env/bin/activate
# Install dependencies
uv pip install -r requirements.txt
# Start server
python3 hexstrike_server.py --port 8888
Long-term Migration Checklist
References
Draft GitHub Issue — To be posted at user's discretion
Repository:
0x4m4/hexstrike-aiTitle: Proposal: Officially migrate build system to Astral UV for reproducible installs
Labels: enhancement, build-system, good-first-issue
Summary
The current README recommends a standard
python3 -m venv+pip3 install -r requirements.txtworkflow. In practice this produces non-deterministic environments, dependency-resolution hangs, and runtime ABI crashes on fresh machines.Problem Observed
While setting up HexStrike AI v6.0 for an OSINT engagement, the prescribed pip workflow failed to yield a working server. Key issues:
requirements.txtuses wide ranges (e.g.flask>=2.3.0,<4.0.0) and includes heavy binary-analysis packages (angr,pwntools,mitmproxy). Pip's resolver either backtracked for minutes or installed incompatible versions ofbcrypt,cryptography, andrequests.Solution Proposed
Adopt Astral UV as the official build tool:
capstone,unicorn,z3-solver) in ~30 seconds.--python 3.12) independent of the host, eliminating ABI/segfault issues.Immediate Workaround (Documented)
The following was verified to work on Ubuntu 24.04 / Podman host:
Long-term Migration Checklist
pyproject.tomlwith project metadata and dependency groupsuv.lockuv runCACHEDIR.TAG/.gitignoreguidance for UV cacheReferences
docs/adr/0001-move-to-uv-package-manager.md