# Runtime Python packages setup.py installs into .venv, pinned so a checkout installs the same ones on any day (#214).
# CMake and Ninja are in requirements-build.txt and are installed only if a local build needs them.
# setup.py's pip step reads this file; an install from before it keeps the packages it has.
# Python 3.10+ (numpy's newest releases need a newer Python: one line per range).
numpy==2.5.3; python_version >= "3.12"
numpy==2.4.6; python_version == "3.11"
numpy==2.2.6; python_version < "3.11"
jinja2==3.1.6
regex==2026.9.10
pyyaml==6.0.3
tqdm==4.70.1
requests==2.34.2
# 13.0.0 carries the fix for GHSA-78g4-xqwv-q3g8 (OpenJPEG heap overflow reachable from Image.open().load(), 11.1.0 to 12.3.0).
# Pillow 13 needs Python 3.11; Python 3.10 stays on 12.3.0 and relies on serve/ds_pictures.py PICTURE_FORMATS (no JPEG 2000 decoder).
pillow==13.0.0; python_version >= "3.11"
pillow==12.3.0; python_version < "3.11"
psutil==7.2.2

# their dependencies
markupsafe==3.0.3
certifi==2026.10.19
truststore==0.10.5; python_version >= "3.10"
charset-normalizer==3.5.1
idna==3.20
urllib3==2.8.0
colorama==0.4.6; sys_platform == "win32"
