[tool.poetry] name = "agent-media" version = "0.1.0" description = "AI agent for managing a local media library" authors = ["Francwa "] readme = "README.md" [tool.poetry.dependencies] python = "^3.12" python-dotenv = "^1.0.0" requests = "^2.32.5" fastapi = "^0.121.1" pydantic = "^2.12.4" uvicorn = "^0.38.0" pytest-xdist = "^3.8.0" [tool.poetry.group.dev.dependencies] pytest = "^8.0.0" pytest-cov = "^4.1.0" pytest-asyncio = "^0.23.0" httpx = "^0.27.0" ruff = "^0.14.7" black = "^25.11.0" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" asyncio_mode = "auto" [tool.coverage.run] source = ["agent", "application", "domain", "infrastructure"] omit = ["tests/*", "*/__pycache__/*"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "raise NotImplementedError", "if __name__ == .__main__.:", ] [tool.black] line-length = 88 target-version = ['py312'] include = '\.pyi?$' exclude = ''' /( __pycache__ | \.git | \.qodo | \.vscode | \.ruff_cache )/ ''' [tool.ruff] line-length = 88 exclude = [ "__pycache__", ".git", ".ruff_cache", ".qodo", ".vscode", ] [tool.ruff.lint] select = [ "E", "W", # pycodestyle "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "TID", # flake8-tidy-imports "PL", # pylint "UP", # pyupgrade ] ignore = [ "PLR0913", # Too many arguments "PLR2004", # Magic value comparison ]