pyyaml>=6.0
requests>=2.31.0
numpy>=1.24.0
pydantic>=2.5

[all]
tessera-ai[api,bedrock,cv,db,llm,reports,worker]

[api]
fastapi>=0.109
uvicorn[standard]>=0.27
python-multipart>=0.0.6
httpx>=0.27

[bedrock]
boto3>=1.28.0

[connectors-extra]
litellm>=1.30
anthropic>=0.21
google-cloud-aiplatform>=1.40

[cv]
adversarial-robustness-toolbox>=1.18.0
foolbox>=3.3.0
torch>=2.0.0
torchvision>=0.15.0
tritonclient[http]>=2.40.0
scikit-learn>=1.3.0
cleanlab>=2.6.0
evidently>=0.4.0
Pillow>=10.0.0

[db]
sqlalchemy[asyncio]>=2.0
psycopg2-binary>=2.9
alembic>=1.13
asyncpg>=0.29
aiosqlite>=0.19

[enterprise]
python-jose[cryptography]>=3.3
passlib[bcrypt]>=1.7
authlib>=1.3

[llm]
detoxify>=0.5.2
fairlearn>=0.10.0

[reports]
python-docx>=1.1.0
tabulate>=0.9.0
jinja2>=3.1.0

[server]
tessera-ai[api,db,worker]

[test]
pytest>=8.0
httpx>=0.27
python-jose[cryptography]>=3.3

[worker]
celery[redis]>=5.3
