pytest<9,>=7.4.0
pytest-ordering>=0.6
pytest-timeout<3,>=2.2.0
allure-pytest<3,>=2.13.0
Pillow<12,>=10.0.0
mss<10,>=9.0.0
PyYAML<7,>=6.0.1
python-dotenv<2,>=1.0.0
tcms-api<14,>=12.0

[all]
pywinauto>=0.6.8
playwright>=1.40
httpx>=0.25
prometheus-client<1,>=0.20.0
requests<3,>=2.28
python-owasp-zap-v2.4>=0.0.21
PyJWT>=2.8.0
locust>=2.20
gevent>=23.0
factory-boy>=3.3.0
Faker>=22.0
psycopg2-binary>=2.9
pydantic>=2.0
jsonschema>=4.20
pixelmatch>=0.3.0
respx>=0.21
pytest-xdist>=3.5

[api]
httpx>=0.25

[db]
psycopg2-binary>=2.9

[desktop]
pywinauto>=0.6.8

[factory]
factory-boy>=3.3.0
Faker>=22.0

[load]
locust>=2.20
gevent>=23.0

[metrics]
prometheus-client<1,>=0.20.0

[mock]
respx>=0.21

[parallel]
pytest-xdist>=3.5

[remote]
requests<3,>=2.28

[schema]
pydantic>=2.0
jsonschema>=4.20

[security]
python-owasp-zap-v2.4>=0.0.21
PyJWT>=2.8.0

[visual]
pixelmatch>=0.3.0

[web]
playwright>=1.40
