# Win7 frozen dependency set (route E) -- KEEP THIS FILE PURE ASCII.
#
# WHY ASCII: pip 23 (bundled with Python 3.10) reads -r files with the Windows
# ANSI code page (GBK on zh-CN) when the file has no BOM. A UTF-8 Chinese comment
# makes pip die inside pip/_internal/utils/encoding.py:
#     UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 ... in auto_decode
# (The dev box hides this: CPython builds with utf8_mode=1, PythonWin7 has
#  utf8_mode=0. Same file, different result.) Chinese rationale lives in the
#  repo docs: docs/WIN7*.md (deployment plan / downgrade feasibility).
#
# WHY THESE PINS (verified 2026-09-11 on CPython 3.10.20, 403 tests green,
# 98 extensions statically clean for Win7):
#   pydantic-core >= 2.28 is built with Rust >= 1.78, whose std hard-imports
#   bcryptprimitives!ProcessPrng (Win10 1809+) plus WaitOnAddress /
#   GetSystemTimePreciseAsFileTime (Win8+). On Win7 that fails at import with
#   "DLL load failed ... the specified procedure could not be found" (WinError
#   127) and installing UCRT / VC++ runtime does NOT help.
#   Measured clean ceilings: pydantic-core 2.27.2, rpds-py 0.18.1, mcp <= 1.12.4
#   (mcp 1.13.0+ already requires pydantic>=2.11 = over the line).
#   cryptography is also Rust and is not needed at runtime -- do not install it.
#
# INSTALL:       scripts\win7\setup_win7_env.bat
# AFTER INSTALL: python scripts\win7\patch_mcp_win7.py   (fixes mcp<=1.12.4 Context bug)
# DO NOT: upgrade mcp / pydantic / rpds-py, and do not install from pyproject.toml.

# --- hard pins (the only real constraint) ---
mcp==1.12.4
pydantic==2.10.6
pydantic-core==2.27.2
rpds-py==0.18.1

# --- project direct deps (same as pyproject, minus the mcp/pydantic bump) ---
grpcio==1.82.1
protobuf==7.35.1
numpy==2.2.6
matplotlib==3.10.9
psutil==7.2.2
pywin32==312
python-dotenv==1.2.3
httpx==0.28.1

# --- transitives (this combination verified green) ---
annotated-types==0.8.0
anyio==4.15.1
attrs==26.1.0
certifi==2026.7.22
click==8.5.0
colorama==0.4.6
contourpy==1.3.2
cycler==0.12.1
exceptiongroup==1.3.1
fonttools==4.65.0
h11==0.16.0
httpcore==1.0.9
httpx-sse==0.4.3
idna==3.19
jsonschema==4.25.1
jsonschema-specifications==2025.9.1
kiwisolver==1.5.1
packaging==26.3
pillow==12.3.0
pydantic-settings==2.15.0
pyparsing==3.3.2
python-dateutil==2.9.0.post0
python-multipart==0.0.32
referencing==0.37.0
six==1.17.0
sse-starlette==3.4.11
starlette==1.6.0
typing-extensions==4.16.0
typing-inspection==0.4.4
uvicorn==0.52.4

# --- test tooling (optional) ---
pytest==9.1.1
iniconfig==2.3.0
pluggy==1.6.0
pygments==2.21.0
tomli==2.4.1
