numpy>=1.26,<3
scipy>=1.11,<2
libusb1>=3.1
pyserial>=3.5,<4
# PyQt6 6.8+ ships only manylinux_2_39 aarch64 wheels (glibc >= 2.39); Jetson /
# Ubuntu 22.04 has glibc 2.35, so pip would fall back to a source build that
# dies on qmake. 6.7.1 is the last release with a manylinux_2_28 aarch64 wheel.
PyQt6>=6.6,<6.8; platform_machine == "aarch64"
PyQt6>=6.6; platform_machine != "aarch64"
pyqtgraph>=0.13.7
fastapi>=0.110           # embedded web UI (browser view + controls), served in-process
uvicorn[standard]>=0.29  # ASGI server for the web UI, run on a background thread
# nvrtc.h, cuda.h and libnvrtc for the sar3d processor's GPU code (kernels are
# compiled at run time, no nvcc). x86_64 only: on Jetson (aarch64) CUDA comes
# with JetPack at /usr/local/cuda, where the Makefile finds it.
nvidia-cuda-nvrtc==13.3.33; platform_machine == "x86_64"   # nvrtc.h + libnvrtc
nvidia-cuda-runtime==13.3.29; platform_machine == "x86_64" # cuda.h (Driver API)
