[build-system] requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" [project] name = "evo-ai" version = "1.0.0" description = "API for executing AI agents" readme = "README.md" authors = [ {name = "Davidson Gomes", email = "contato@evolution-api.com"} ] requires-python = ">=3.10" license = {text = "Apache-2.0"} classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", ] # Main dependencies dependencies = [ "fastapi==0.115.12", "uvicorn==0.34.2", "pydantic==2.11.3", "sqlalchemy==2.0.40", "psycopg2==2.9.10", "psycopg2-binary==2.9.10", "google-cloud-aiplatform==1.90.0", "python-dotenv==1.1.0", "google-adk==0.3.0", "litellm>=1.68.0,<1.69.0", "python-multipart==0.0.20", "alembic==1.15.2", "asyncpg==0.30.0", "python-jose==3.4.0", "passlib==1.7.4", "sendgrid==6.11.0", "pydantic-settings==2.9.1", "fastapi_utils==0.8.0", "bcrypt==4.3.0", "jinja2==3.1.6", "pydantic[email]==2.11.3", "httpx==0.28.1", "httpx-sse==0.4.0", "redis==5.3.0", "sse-starlette==2.3.3", "jwcrypto==1.5.6", "pyjwt[crypto]==2.9.0", "langgraph==0.4.1", "opentelemetry-sdk==1.33.0", "opentelemetry-exporter-otlp==1.33.0", "mcp==1.9.0", "crewai==0.120.1", "crewai-tools==0.45.0", "a2a-sdk==0.2.4", ] [project.optional-dependencies] dev = [ "black==25.1.0", "flake8==7.2.0", "pytest==8.3.5", "pytest-cov==6.1.1", "httpx==0.28.1", "pytest-asyncio==0.26.0", ] [tool.setuptools] packages = ["src"] [tool.black] line-length = 88 target-version = ["py310"] include = '\.pyi?$' exclude = ''' /( \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist | venv | alembic/versions )/ ''' [tool.pytest.ini_options] testpaths = ["tests"] python_files = "test_*.py" python_functions = "test_*" python_classes = "Test*" filterwarnings = [ "ignore::DeprecationWarning", ] [tool.coverage.run] source = ["src"] omit = ["tests/*", "alembic/*"]