boltons<25.1,>=21.0
GitPython<4
isort<6.1,>=5.12
libcst<1.9,>=1.8
packaging<25.1,>=24.2
pydantic~=2.11.5
pylint<3.4,>=3.3
python-json-logger~=3.3.0
PyYAML~=6.0.0
toml~=0.10.2
tomlkit~=0.13.0
wrapt~=1.17.0
chardet~=5.2.0
sarif-pydantic~=0.5.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.94,>=1.93

[semgrep]
semgrep<1.129,>=1.128

[test]
azure-ai-inference<2.0,>=1.0.0b1
coverage<7.10,>=7.9
coverage-threshold~=0.4
defusedxml==0.7.1
types-defusedxml==0.7.0.20250708
flask-wtf==1.2.2
types-WTForms==3.2.1.20250602
Flask<4
httpx~=0.27
Jinja2~=3.1.2
jsonschema~=4.24.0
lxml<6.1.0,>=6.0.0
openai<1.94,>=1.93
mock==5.2.*
pre-commit<5
Pyjwt~=2.10.0
pytest<9,>=8.2
pytest-asyncio~=1.0
pytest-cov<7,>=6.1
pytest-mock<3.15,>=3.12
pytest-randomly==3.*
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.0b7
unidiff>=0.7.5
semgrep<1.129,>=1.128

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

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