pyyaml>=6.0
jinja2>=3.1
flask>=3.0
requests>=2.31
python-dotenv>=1.0

[dev]
icdev[security,testing]
build>=1.0
twine>=5.0

[developer]
icdev[llm-local,search,security,testing]

[dod-il6]
icdev[llm-local,network,search,security]

[full]
icdev[llm-all,network,saas,search,security,testing]

[full-airgap]
icdev[llm-airgap,network,search,security,testing]

[govcloud]
icdev[llm-airgap,network,search,security]

[image-gen]
torch>=2.1
diffusers>=0.27
transformers>=4.36
accelerate>=0.25

[llm]
openai>=1.0
anthropic>=0.30
ollama>=0.2

[llm-airgap]
icdev[llm-azure,llm-bedrock,llm-local]
anthropic>=0.30

[llm-all]
icdev[llm,llm-azure,llm-bedrock,llm-gemini,llm-ibm,llm-oci,llm-vertex]

[llm-azure]
openai>=1.0

[llm-bedrock]
boto3>=1.34

[llm-gemini]
google-generativeai>=0.5

[llm-ibm]
ibm-watsonx-ai>=1.0

[llm-local]
openai>=1.0
ollama>=0.2

[llm-oci]
oci>=2.100

[llm-vertex]
google-cloud-aiplatform>=1.40

[minimal-airgap]
icdev[llm-local,search]

[network]
defusedxml>=0.7
networkx>=3.2
vsdx>=0.5
lxml>=4.9
pdfplumber>=0.10
pypdfium2>=4.25
ciscoconfparse2>=0.7

[postgresql]
psycopg2-binary>=2.9
gunicorn>=22.0

[saas]
psycopg2-binary>=2.9
PyJWT>=2.12
cryptography>=42.0
gunicorn>=22.0
redis>=5.0

[search]
numpy>=1.26
rank_bm25>=0.2

[security]
bandit>=1.7
pip-audit>=2.6
detect-secrets>=1.4
cyclonedx-bom>=4.0

[testing]
pytest>=8.0
pytest-cov>=5.0
behave>=1.2
ruff>=0.12
pydantic>=2.0
