anthropic>=0.40.0
openai>=1.50.0
jsonschema>=4.20.0
python-dotenv>=1.0.0
rich>=13.0.0

[all]
litellm<2,>=1.101.0
bert-score>=0.3.0
requests>=2.28.0
playwright>=1.40.0
pytest>=7.0.0
google-genai>=1.0.0
langgraph>=0.2.0
langchain-core>=0.3.0
openai-agents>=0.0.1
datasets<6,>=5.0.1
inspect-ai<0.4,>=0.3.263
scikit-learn<2,>=1.5
scipy<2,>=1.11
opentelemetry-sdk<2,>=1.44
opentelemetry-exporter-otlp-proto-http<2,>=1.44
gymnasium<2,>=1.2
Pillow<13,>=12
pypdfium2<6,>=5.13
av<18,>=16

[bertscore]
bert-score>=0.3.0

[browser]
playwright>=1.40.0
requests>=2.28.0

[datasets]
datasets<6,>=5.0.1

[dev]
pytest>=7.0.0
pytest-asyncio>=0.23.0
ruff>=0.3.0
build>=1.0.0
twine>=5.0.0

[google]
google-genai>=1.0.0

[gymnasium]
gymnasium<2,>=1.2

[inspect]
inspect-ai<0.4,>=0.3.263

[langgraph]
langgraph>=0.2.0
langchain-core>=0.3.0

[litellm]
litellm>=1.0.0

[media]
Pillow<13,>=12
pypdfium2<6,>=5.13
av<18,>=16

[openai-agents]
openai-agents>=0.0.1

[otel]
opentelemetry-sdk<2,>=1.44
opentelemetry-exporter-otlp-proto-http<2,>=1.44

[pricing]
litellm<2,>=1.101.0

[pytest]
pytest>=7.0.0

[requests]
requests>=2.28.0

[review]
scikit-learn<2,>=1.5
scipy<2,>=1.11
