[build-system] requires = ["setuptools>=68.0"] build-backend = "setuptools.backends.legacy:build" [project] name = "ai-code-review-agent" version = "0.1.0" description = "Multi-agent AI platform that simulates a software engineering team" requires-python = ">=3.11" dependencies = [ "pydantic==2.11.5", "pydantic-settings==2.9.1", "httpx==0.28.1", "gradio==5.31.0", "gitpython==3.1.44", "ruff==0.11.12", "bandit==1.8.3", "pytest==8.3.5", "pytest-cov==6.1.0", "pytest-asyncio==0.23.8", "coverage==7.8.0", "python-dotenv==1.1.0", "slowapi==0.1.9", "prometheus-fastapi-instrumentator==7.0.0", "fastapi==0.115.12", "uvicorn==0.34.3", "tenacity==8.3.0", "mypy==1.10.0", ] [tool.ruff] line-length = 88 target-version = "py311" [tool.ruff.lint] extend-per-file-ignores = { "gradio_app/app.py" = ["E402"] } [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] asyncio_mode = "auto" [tool.bandit] exclude_dirs = ["tests", ".venv"] [tool.mypy] python_version = "3.11" strict = false ignore_missing_imports = true disallow_untyped_defs = true disallow_untyped_calls = false warn_return_any = true warn_unused_ignores = true exclude = ["tests/", "gradio_app/"] plugins = ["pydantic.mypy"]