# ─────────────────────────────────────────────────────────────
# SAFER X REDACT — Companion Server Requirements
# (c) 2026 Raphael Amponsah
# ─────────────────────────────────────────────────────────────
#
# Tested on Python 3.10, 3.11, and 3.12 on macOS, Linux, and
# Windows. Python 3.13 is not supported in this release because
# NumPy 1.26 does not yet ship pre-built wheels for it and pip
# would fall back to source compilation, which requires a C
# compiler that most desktop users do not have.
#
# If you are on Windows and pip is trying to compile NumPy from
# source, you are on Python 3.13. Reinstall with Python 3.12 and
# the install will complete with no compiler needed.

# NumPy pinned to <2.0 to keep compatibility with spaCy 3.7
# and the rest of the detection stack. Pre-built wheels exist
# for every supported platform.
numpy>=1.24.0,<2.0.0

# Web framework
fastapi==0.115.4
uvicorn[standard]==0.32.0
pydantic==2.9.2
python-multipart==0.0.12

# Detection engine
presidio-analyzer==2.2.355
presidio-anonymizer==2.2.355
spacy==3.7.5

# Synthetic data generation
faker==30.8.1

# Offline verification of purchased (Ed25519-signed) licences. The
# storefront signs with the private key; this only ever verifies with
# the embedded public key.
cryptography>=42.0.0

# Optional Mistral 7B layer. Uncomment if you want the hybrid
# backend; it adds about 4 GB to the install footprint.
# llama-cpp-python==0.3.1
