# coupler-panel-validation — locked dependency list.
#
# Versions in this file are the ones the package has been *end-to-end
# verified* against on Python 3.10 (Windows 11). For a clean install use:
#
#     python -m pip install -r requirements.txt
#     pip install -e .
#
# If you only need a subset of the functionality, use the optional
# extras declared in pyproject.toml instead:
#
#     pip install -e ".[cloud]"   # core + point-cloud IO + denoise
#     pip install -e ".[cad]"     # core + STP parsing + GT extraction
#     pip install -e ".[viz]"     # core + matplotlib diagnostics
#     pip install -e ".[report]"  # core + Excel batch reporting
#     pip install -e ".[all]"     # everything above
#
# ---------------------------------------------------------------------------
# Core compute — required even for the thinnest integration deployment.
# ---------------------------------------------------------------------------
numpy==1.26.4
scipy==1.15.3
pyyaml==6.0.2
tqdm==4.65.0

# ---------------------------------------------------------------------------
# Point-cloud IO + denoise helpers (PLY/PCD read & write, voxel/SOR/ROR,
# normal-via-PCA). Required for the main pipeline; the package will fall
# back to ASCII-only PLY reading without open3d, which is not enough for
# the binary PLYs produced by the data generator.
# ---------------------------------------------------------------------------
open3d==0.19.0
trimesh==4.12.2

# ---------------------------------------------------------------------------
# STP / STEP parsing — required if you pass cad_stp_path. (Skip this group
# if you don't have CAD STP at integration time and instead pre-compute
# the panel-normal seed yourself.)
# ---------------------------------------------------------------------------
cadquery-ocp==7.8.1.1.post1

# ---------------------------------------------------------------------------
# Diagnostic PNG renders + offscreen 3D screenshots — only used by
# coupler_panel.viz.render_all (optional).
# ---------------------------------------------------------------------------
matplotlib==3.10.8

# ---------------------------------------------------------------------------
# Excel batch-eval reporting — required if you use
# coupler_panel.reporting.write_excel_report or examples/run_batch_eval.py.
# ---------------------------------------------------------------------------
openpyxl==3.1.2
