boltons<25.1,>=21.0
GitPython<4
isort<7,>=6.1
libcst<1.9,>=1.8
packaging<25.1,>=24.2
pydantic~=2.12.3
pylint<4.1,>=4
python-json-logger~=4.0.0
PyYAML~=6.0.0
toml~=0.10.2
tomlkit~=0.13.0
wrapt~=1.17.0
chardet~=5.2.0
sarif-pydantic~=0.6.1
setuptools~=80.0

[all]
codemodder[test]
codemodder[complexity]

[azure]
azure-ai-inference<2.0,>=1.0.0b1

[complexity]
radon==6.0.*
xenon==0.9.*

[openai]
openai<1.110,>=1.109

[semgrep]
semgrep<1.141,>=1.140

[test]
azure-ai-inference<2.0,>=1.0.0b1
coverage<7.12,>=7.11
coverage-threshold~=0.4
defusedxml==0.7.1
types-defusedxml==0.7.0.20250822
flask-wtf==1.2.2
types-WTForms==3.2.1.20250809
Flask<4
httpx~=0.27
Jinja2~=3.1.2
jsonschema~=4.25.0
lxml<6.1.0,>=6.0.0
openai<1.110,>=1.109
mock==5.2.*
pre-commit<5
Pyjwt~=2.10.0
pytest<9,>=8.2
pytest-asyncio~=1.0
pytest-cov<8,>=7
pytest-mock<3.16,>=3.15
pytest-randomly==4.*
pytest-xdist==3.*
requests~=2.32.1
security==1.3.1
types-mock==5.2.*
django<6,>=4
flask_wtf~=1.2.0
fickling>=0.1.3,~=0.1.0
graphql-server~=3.0.0b9
unidiff>=0.7.5
semgrep<1.141,>=1.140

[test:python_version == "3.10"]
numpy==2.2.6

[test:python_version > "3.10"]
numpy~=2.3.0
