# Pip packages needed to build from source. Mainly for development of ExecuTorch.

cmake>=3.26, <4.0.0; sys_platform != 'win32'  # For building binary targets in the wheel.
cmake>=3.27, <4.0.0; sys_platform == 'win32'  # The shared Windows build uses $<COMPILE_ONLY>, new in 3.27.
packaging>=24.2 # Lower bound required by setuptools
patchelf; sys_platform == 'linux'  # Writes the runtime search paths that let the shipped libraries find each other.
pip>=23  # For building the pip package.
pyyaml  # Imported by the kernel codegen tools.
# SentencePiece builds from source on 3.15 with build isolation disabled.
pybind11>=3.1.0; python_version >= "3.15"
setuptools>=77.0.3  # For building the pip package contents.
wheel  # For building the pip package archive.
zstd  # Imported by resolve_buck.py.
certifi  # Imported by resolve_buck.py.
lintrunner==0.12.7
lintrunner-adapters==0.14.1
ruff==0.15.4

pytest<9.0
pytest-xdist
pytest-rerunfailures==15.1
pytest-json-report
gguf  # For extension/llm/export/test/test_gguf.py (GGUF Q4_K/Q6_K dequant tests).
# Needed only by tests and development tools, so the executorch package does not depend on them.
expecttest
hypothesis
kgb
parameterized
