# Every package the engine runs on, at the version the tests here passed with.
# requirements.txt says what is wanted; this says exactly which build of it.
# The setup installs with both (pip -r requirements.txt -c constraints.txt), so
# every computer gets the same numbers - a different OCC build is enough to
# bring back a thread Rhino reads as open surfaces.
#
# Regenerate from a venv that passes the whole test suite:
#     .venv\Scripts\python -m pip freeze --all > constraints.txt
# then delete pip, setuptools and wheel, and keep this header.

anytree==2.13.0
asttokens==3.0.2
bd_warehouse==0.3.0
build123d==0.11.1
cadquery-ocp-novtk==7.9.3.1.1
cadquery-ocp-proxy==7.9.3.1.1
certifi==2026.7.22
cffi==2.1.1
charset-normalizer==3.5.1
cloudpickle==3.1.2
clr_loader==0.3.1
colorama==0.4.6
contourpy==1.3.3
coverage==7.16.0
cycler==0.12.1
executing==2.2.1
ezdxf==1.4.4
fonttools==4.63.0
idna==3.19
ImageIO==2.37.4
imageio-ffmpeg==0.6.0
iniconfig==2.3.0
ipython==9.17.0
ipython_pygments_lexers==1.1.1
jedi==0.20.0
joblib==1.6.0
kiwisolver==1.5.1
lib3mf==2.5.0
matplotlib==3.11.1
matplotlib-inline==0.2.2
mpmath==1.3.0
narwhals==2.25.0
numpy==2.5.2
ocp_gordon==0.2.2
ocpsvg==0.6.0
packaging==26.3
parso==0.8.7
pillow==12.3.0
pluggy==1.6.0
prompt_toolkit==3.0.53
psutil==7.2.2
pure_eval==0.2.3
pycparser==3.0
Pygments==2.21.0
pyparsing==3.3.2
pytest==9.1.1
python-dateutil==2.9.0.post0
pythonnet==3.1.0
requests==2.34.2
scikit-learn==1.9.0
scipy==1.18.1
six==1.17.0
stack-data==0.6.3
svgelements==1.9.6
svgpathtools==1.7.4
svgwrite==1.4.3
sympy==1.14.0
threadpoolctl==3.6.0
traitlets==5.16.1
trianglesolver==1.2
typing_extensions==4.16.0
urllib3==2.7.0
wcwidth==0.8.3
webcolors==24.8.0
