# VisualKit 0.3.0 runtime dependencies at the versions tested (732 passed, 5 skipped, 2026-10-15,
# Python 3.14, Windows x64). Mirrored for Windows x64 + Linux x86-64, Python 3.11-3.14, to https://gt.pescoinc.biz/api/packages/spencerm/pypi
# Use as a constraints file:  pip install visualkit==0.3.0 -c requirements/runtime-lock.txt
annotated-types==0.8.0
pydantic-settings==2.16.0
pydantic==2.14.1
pydantic_core==2.50.1
pyodbc==5.3.0
python-dotenv==1.2.4
typing-inspection==0.4.4
typing_extensions==4.16.0

# --- keyring extra (visualkit[keyring]): Windows developer machines only. Tested set.
# --- Mirrored for Windows x64 only. On Linux the password comes from VISUAL_PASSWORD or
# --- VISUAL_PASSWORD_FILE and keyring is not used, so its Linux deps (SecretStorage, jeepney,
# --- cryptography, cffi, pycparser) are NOT mirrored.
jaraco.classes==3.4.0
jaraco.context==6.1.2
jaraco.functools==4.6.0
keyring==25.7.0
more-itertools==11.2.1
pywin32-ctypes==0.2.3 ; sys_platform == "win32"

# --- parquet extra (visualkit[parquet]): Parquet output for visualkit.extract. Tested set.
# --- pyarrow declares no Requires-Dist, so it is the only package. Mirrored for Windows x64 and
# --- Linux x86-64, Python 3.11-3.14. pyarrow 26 publishes manylinux_2_28 wheels only, so on Linux
# --- the parquet extra needs glibc 2.28+ (RHEL/Rocky 8+, Debian 10+, Ubuntu 20.04+).
pyarrow==26.0.0

# --- Only needed for the keyring extra on Python 3.11. Not part of the tested set: never run with
# --- VisualKit's tests. Versions chosen 2026-10-15: newest releases at least 14 days old (same pins as MFilesKit).
backports.tarfile==1.2.0 ; python_version < "3.12"
importlib-metadata==9.0.1 ; python_version < "3.12"
zipp==4.1.0 ; python_version < "3.12"
