# Dependencies for Path of Exile Archipelago Client
# HTTP client for async requests
httpx>=0.28.1

# Cross-platform input control and monitoring
pynput>=1.8.1

# Text-to-speech conversion library
pyttsx3==2.99

# Window control library for Windows/Linux/macOS
pywinctl>=0.4.01

# Windows COM/Win32 wrappers (native extension)
pywin32==311 ; sys_platform == "win32"

#    #!/usr/bin/env bash
#    set -euo pipefail
#    
#    REQ_FILE="vendor_requirements.txt"
#    OUT_DIR="vendor_modules"
#    ZIP_FILE="vendor_modules.zip"
#    
#    # Choose a Python
#    if command -v python3 >/dev/null 2>&1; then
#      PYTHON="python3"
#    elif command -v python >/dev/null 2>&1; then
#      PYTHON="python"
#    else
#      echo "Error: python not found on PATH." >&2
#      exit 1
#    fi
#    
#    # Ensure requirements file exists
#    if [[ ! -f "$REQ_FILE" ]]; then
#      echo "Error: $REQ_FILE not found." >&2
#      exit 1
#    fi
#    
#    # Clean previous outputs
#    rm -rf "$OUT_DIR"
#    rm -f "$ZIP_FILE"
#    
#    # Install into a target folder (includes transitive deps)
#    "$PYTHON" -m pip install \
#      --upgrade \
#      --no-cache-dir \
#      -r "$REQ_FILE" \
#      -t "$OUT_DIR"
#    
#    # Optional: prune __pycache__ to slim the zip
#    find "$OUT_DIR" -type d -name "__pycache__" -exec rm -rf {} +
#    
#    # Zip results (use system 'zip' if present, else pure-Python fallback)
#    if command -v zip >/dev/null 2>&1; then
#      (cd "$OUT_DIR" && zip -r "../$ZIP_FILE" .)
#    else
#      "$PYTHON" - <<'PY'
#    import os, zipfile
#    src = "vendor_modules"
#    dst = "vendor_modules.zip"
#    with zipfile.ZipFile(dst, "w", zipfile.ZIP_DEFLATED) as z:
#        for root, _, files in os.walk(src):
#            for f in files:
#                p = os.path.join(root, f)
#                z.write(p, os.path.relpath(p, src))
#    print(f"Created {dst}")
#    PY
#    fi
#    
#    echo "Done:"
#    echo "  Installed to: $OUT_DIR/"
#    echo "  Zipped as:    $ZIP_FILE"









#    #Requires -Version 5.1
#    Set-StrictMode -Version Latest
#    $ErrorActionPreference = "Stop"
#    
#    $ReqFile = "vendor_requirements.txt"
#    $OutDir  = "vendor_modules"
#    $ZipFile = "vendor_modules.zip"
#    
#    # Find Python (prefer 'py' on Windows, then 'python')
#    $pythonCmd = (Get-Command py -ErrorAction SilentlyContinue)?.Source
#    if (-not $pythonCmd) { $pythonCmd = (Get-Command python -ErrorAction SilentlyContinue)?.Source }
#    if (-not $pythonCmd) { throw "python/py not found on PATH." }
#    
#    if (-not (Test-Path $ReqFile)) { throw "$ReqFile not found." }
#    
#    # Clean previous outputs
#    if (Test-Path $OutDir) { Remove-Item $OutDir -Recurse -Force }
#    if (Test-Path $ZipFile) { Remove-Item $ZipFile -Force }
#    
#    # Install into a target folder (includes transitive deps)
#    & $pythonCmd -m pip install `
#      --upgrade `
#      --no-cache-dir `
#      -r $ReqFile `
#      -t $OutDir
#    
#    # Optional: prune __pycache__
#    Get-ChildItem -Path $OutDir -Directory -Recurse -Filter "__pycache__" |
#      Remove-Item -Recurse -Force
#    
#    # Zip results
#    Compress-Archive -Path (Join-Path $OutDir '*') -DestinationPath $ZipFile -Force
#    
#    Write-Host "Done:"
#    Write-Host "  Installed to: $OutDir/"
#    Write-Host "  Zipped as:    $ZipFile"
