# Consolidated third-party dependencies for everything under ATE/.
#
# This aggregates every per-folder requirements.txt in this tree (Drivers/*,
# Stations/*, Tools/*, Utilities/*) plus a handful of gaps found by scanning
# ATE/ for imports with no matching requirements.txt entry (psycopg2-binary,
# openpyxl, pythonnet, google-auth, google-api-python-client). When a
# per-folder file only needs a subset of these, prefer installing that
# file directly; use this one to set up a machine that runs everything.
#
# NOT included here (MicroPython firmware, runs on-device, not via pip):
#   ATE/Stations/Sensor_FCT/cam_rp2040/firmware/*.py (uasyncio, uos, uselect,
#   ujson, machine)

# --- Instruments / VISA / serial ---
PyVISA~=1.15.0
pyserial
pywin32>=306

# --- Networking / remote devices ---
paramiko~=3.5.1
librouteros~=3.4.1
Mikrotik_Connector
RouterOS-api
webrepl
scp>=0.14.5
requests~=2.32.3
fab-classic~=1.19.2

# --- DAQ ---
nidaqmx

# --- Relay controllers (HID) ---
hidapi

# --- Vision / OCR / barcode ---
opencv-python~=4.11.0.86
pytesseract==0.3.13
pygrabber==0.2
pyzbar==0.1.9
pylibdmtx==0.1.10
Pillow
# Required on Python 3.12+ so pylibdmtx's `from distutils.version import
# LooseVersion` resolves via setuptools' vendored distutils shim (stdlib
# distutils was removed in 3.12).
setuptools>=68

# --- Web / GUI (esim, seq_toolkit, report_automation) ---
flask>=2.3.0
werkzeug
gspread
oauth2client
google-auth
google-api-python-client
bs4~=0.0.2
beautifulsoup4~=4.13.3

# --- Database ---
psycopg2-binary
openpyxl

# --- .NET interop (customer_interface) ---
pythonnet

# --- Cloud / storage ---
boto3

# --- Docs / config / misc ---
python-docx>=1.1.0
packaging>=21.3
func_timeout

# --- Debugging ---
debugpy

# --- Not pip-installable — separate manual/winget installs required ---
#   - NI-DAQmx runtime (required by the nidaqmx package): ni.com/downloads
#   - Tesseract-OCR engine (pytesseract is only a wrapper around it):
#       winget install --id UB-Mannheim.TesseractOCR -e
#   - Microsoft Visual C++ 2013 Redistributable (x64), or pyzbar's bundled
#     libzbar/libiconv DLLs fail to load:
#       winget install --id Microsoft.VCRedist.2013.x64 -e
