[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "vgtc" version = "2.0.0" description = "AI for GTC — MCP-native agent platform with ERP integration, EU AI Act compliance, and multi-agent orchestration" readme = "README.md" license = { text = "Source Available - All Rights Reserved" } requires-python = ">=3.11" authors = [{ name = "Vora Labs", email = "founders@voralabs.dev" }] keywords = ["ai-agents", "trade-compliance", "mcp", "erp-integration", "eu-ai-act", "enterprise-ai", "autonomous-agents"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Programming Language :: Python :: 3.11", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "mcp[cli]>=1.0.0", "pydantic>=2.0.0", "pydantic-settings>=2.0.0", "httpx>=0.27.0", "python-dotenv>=1.0.0", "fastapi>=0.100.0", "uvicorn[standard]>=0.23.0", "click>=8.0.0", "starlette>=0.27.0", "pypdf>=4.0.0", "reportlab>=4.0.0", "jellyfish>=1.0.0", "uvloop>=0.19.0; sys_platform != 'win32'", "httptools>=0.6.0", "sqlalchemy[asyncio]>=2.0.0", "asyncpg>=0.29.0", "pyhscodes>=0.3.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.23.0", "pytest-cov>=4.1.0", "pytest-mock>=3.12.0", "httpx>=0.27.0", "ruff>=0.2.0", "mypy>=1.8.0", "pre-commit>=3.6.0", "fakeredis>=2.21.0", "openai>=1.0.0", "anthropic>=0.18.0", "tiktoken>=0.5.0", ] ui = [ "streamlit>=1.30.0", ] phase1 = [ "docling>=2.0.0", "paddleocr>=2.7.0", "paddlepaddle>=2.6.0", ] all = ["vgtc[dev,ui,phase1]"] [project.scripts] hermes = "hermes.cli:main" [tool.ruff] target-version = "py311" line-length = 100 [tool.ruff.lint] select = ["E", "F", "W", "I", "N", "UP", "B", "A", "C4", "SIM", "TCH"] ignore = ["E501"] [tool.ruff.lint.isort] known-first-party = ["hermes"] [tool.mypy] python_version = "3.11" strict = true warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" markers = [ "unit: Unit tests", "integration: Integration tests", "agent: Agent tests", "mcp: MCP tests", "slow: Slow tests", ] addopts = "-v --tb=short" [tool.hatch.build.targets.wheel] packages = ["src/hermes"] [tool.coverage.run] source = ["hermes"] omit = ["tests/*", "setup.py"] [tool.coverage.report] fail_under = 55 show_missing = true exclude_lines = [ "pragma: no cover", "def __repr__", "if __name__ == .__main__.", "raise NotImplementedError", "pass", "except ImportError", ]