click>=8.1.0
pydantic>=2.5.0
httpx>=0.25.0
anthropic>=0.30.0
openai>=1.40.0
google-generativeai>=0.5.0
rich>=13.7.0
jinja2>=3.1.0
numpy>=1.26.0
pandas>=2.1.0
scipy>=1.11.0
python-dotenv>=1.0.0

[all]
mcp>=1.0.0
llm-guard>=0.3.0
guardrails-ai>=0.10.0
nemoguardrails>=0.21.0
deepeval>=1.0.0
deepteam>=0.1.0
trulens-core>=1.0.0
fairlearn>=0.10.0
aif360>=0.6.0
presidio-analyzer>=2.2.0
presidio-anonymizer>=2.2.0
detect-secrets>=1.4.0
bandit>=1.7.0
semgrep>=1.50.0
langfuse>=2.0.0
langchain-core>=0.3.0
torch>=2.0.0
transformers>=4.35.0
jsonschema>=4.20.0
pydantic>=2.5.0
sentence-transformers>=2.2.0
detoxify>=0.5.0
numpy>=1.26.0

[bounds]

[code-scan]
bandit>=1.7.0
semgrep>=1.50.0

[compass]
sentence-transformers>=2.2.0
numpy>=1.26.0

[dev]
pytest>=7.4.0
pytest-asyncio>=0.21.0
ruff>=0.1.0
mypy>=1.7.0

[eval]
deepeval>=1.0.0
trulens-core>=1.0.0

[fairness]
fairlearn>=0.10.0
aif360>=0.6.0

[guardrails]
llm-guard>=0.3.0
guardrails-ai>=0.10.0
nemoguardrails>=0.21.0

[hallucination]
deepeval>=1.0.0
torch>=2.0.0
transformers>=4.35.0

[langchain]
langchain-core>=0.3.0

[loop]

[mcp]
mcp>=1.0.0

[observability]
langfuse>=2.0.0

[pdf]
pypandoc>=1.13

[pii]
presidio-analyzer>=2.2.0
presidio-anonymizer>=2.2.0

[redteam]
deepteam>=0.1.0

[refusal]

[schema]
jsonschema>=4.20.0
pydantic>=2.5.0

[secrets]
detect-secrets>=1.4.0

[supabase]
supabase>=2.0.0

[toxic]
detoxify>=0.5.0

[trace]
