[project]
name = "atlas-g-protocol"
version = "1.0.0"
description = "Agentic portfolio system - A compliance-grade MCP server that serves as both human and machine readable portfolio"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [{ name = "Atlas-G", email = "atlas@protocol.dev" }]
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.32.0",
"python-socketio>=5.11.0",
"google-genai>=1.0.0",
"google-cloud-firestore>=2.19.0",
"fastmcp>=0.4.0",
"python-dotenv>=1.0.0",
"httpx>=0.27.0",
"pydantic>=2.10.0",
"resend>=0.1.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"ruff>=0.8.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["backend"]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "I", "W"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["backend/tests"]