[project]
name = "agent-infra-docker"
version = "1.0.0"
requires-python = ">=3.11,<4"
readme = "README.md"
license-files = ["LICENSE"]
authors = [{ name = "Agno", email = "hello@agno.com" }]
dependencies = [
"agno==2.3.2",
"agno-infra==1.0.4",
"ddgs",
"fastapi[standard]",
"openai",
"pgvector",
"psycopg[binary]",
"requests",
"sqlalchemy",
"mcp",
"fastmcp",
"ibm-watsonx-ai>=1.3.39",
"anthropic>=0.75.0",
"pyyaml>=6.0.3",
]
[project.optional-dependencies]
dev = ["mypy", "ruff", "pytest", "pytest-asyncio"]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
[tool.ruff]
line-length = 120
exclude = [".venv*"]
[tool.ruff.lint.per-file-ignores]
# Ignore `F401` (import violations) in all `__init__.py` files
"__init__.py" = ["F401", "F403"]
[tool.mypy]
check_untyped_defs = true
no_implicit_optional = true
warn_unused_configs = true
plugins = ["pydantic.mypy"]
exclude = [".venv*"]
[[tool.mypy.overrides]]
module = ["pgvector.*", "setuptools.*", "nest_asyncio.*", "agno.*", "requests.*"]
ignore_missing_imports = true
[tool.uv.pip]
no-annotate = true
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"
addopts = [
"-v",
"--tb=short",
"--strict-markers",
"--disable-warnings",
"--cov=app",
"--cov-report=term-missing",
"--cov-report=html:htmlcov",
"--cov-report=xml"
]
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"integration: marks tests as integration tests",
"docker: marks tests as docker-specific tests",
"database: marks tests as database-specific tests"
]