PyYAML>=6.0
typer>=0.12
click>=8.1
jsonschema>=4.21

[cma]
httpx>=0.24

[dbos]

[dbos:python_version >= "3.11"]
dbos>=2.18

[dev]
julep[test-no-temporal]
temporalio>=1.20

[dotctx]
jinja2>=3.1

[http]
httpx>=0.24

[langfuse]
opentelemetry-api>=1.20
opentelemetry-sdk>=1.20
opentelemetry-exporter-otlp-proto-http>=1.20

[litellm]
litellm<2,>=1.61

[mcp]
mcp>=1.9
httpx>=0.24
PyJWT>=2.8
cryptography>=42

[otel]
opentelemetry-api>=1.20
opentelemetry-sdk>=1.20

[provider-smoke]
julep[dev]

[provider-smoke:python_version >= "3.11"]
any-llm-sdk[openrouter,xai]>=1.17

[providers]

[providers:python_version >= "3.11"]
any-llm-sdk>=1.17

[server]
fastapi>=0.115
uvicorn>=0.30
sse-starlette>=2
psycopg[binary,pool]>=3.2
temporalio>=1.20
cryptography>=42
httpx>=0.24

[store]
boto3>=1.34
cryptography>=42

[temporal]
temporalio>=1.20
cryptography>=42

[test-no-temporal]
mypy>=1.10
pytest>=7
ruff>=0.5
httpx>=0.24
jinja2>=3.1
opentelemetry-api>=1.20
opentelemetry-sdk>=1.20
opentelemetry-exporter-otlp-proto-http>=1.20
pydantic>=2
types-PyYAML>=6.0
wasmtime<46,>=45
mcp>=1.9
cryptography>=42
PyJWT>=2.8
fastapi>=0.115
uvicorn>=0.30
sse-starlette>=2
psycopg[binary,pool]>=3.2
typer>=0.12

[test-no-temporal:python_version >= "3.11"]
dbos>=2.18
any-llm-sdk[anthropic,gemini,groq,mistral,openai]>=1.17

[wasm]
wasmtime<46,>=45
