[tool.poetry] authors = ["RevupAI Engineers"] description = "MailPilot AI agents" name = "MailPilot_ai_agents" version = "0.1.0-alpha" [tool.poetry.dependencies] fastapi = "0.112.0" python = "^3.12" uvicorn = {extras = ["standard"], version = "^0.22.0"} asyncpg = "0.30.0" environs = "^9.5.0" msal = "^1.23.0" aiofiles = "^23.2.1" langchain = "0.3.7" langgraph = "0.2.52" langgraph-checkpoint = "2.0.5" langgraph-checkpoint-postgres="2.0.3" pydantic-settings = "2.6.1" langchain-openai = "0.2.5" langchain-community = "0.3.5" pyyaml = "6.0.2" alembic = "1.14.0" sqlalchemy = "2.0.35" greenlet = "3.1.1" psycopg2-binary = "2.9.10" logger = "1.4" structlog = "24.4.0" starlette = ">=0.37.2,<0.38.0" pymemcache = "4.0.0" pandas = "2.2.3" XlsxWriter = "3.2.0" tiktoken = "0.8.0" python-multipart="0.0.20" openpyxl="3.1.5" firebase-admin="6.2.0" email-validator = "^2.1.0" [tool.poetry.dev-dependencies] autoflake = "^2.1.0" black = "^23.9.1" coverage = "^7.3.1" flake8 = "^6.1.0" isort = "^5.12.0" pytest = "^8.3.3" pytest-asyncio = "^0.21.1" pre-commit = "^3.5.0" pytest-mock = "^3.11.1" factory-boy = "^3.3.0" [build-system] build-backend = "poetry.core.masonry.api" requires = ["poetry-core>=1.8.0"] [tool.pytest.ini_options] addopts = "-v" asyncio_mode = "auto" filterwarnings = [] markers = ["pytest.mark.asyncio"] minversion = "6.0" testpaths = ["app/tests"] [tool.isort] profile = "black" [tool.flake8] max-line-length = 120 select = "C, E, F, W, B, B9" ignore = "E203, E501, W503" exclude = """ __init__.py, .venv, venv, __pycache__, .github, .vscode, """