| [project] |
| name = "archon" |
| version = "0.2.2" |
| description = "Archon - the command center for AI coding assistants." |
| readme = "README.md" |
| requires-python = ">=3.12" |
| |
| dependencies = [ |
| "browser-use>=0.3.2", |
| "langchain-google-genai>=2.1.5", |
| "mcp>=1.12.2", |
| "pydantic-ai==1.44.0", |
| "tenacity>=9.1.4", |
| ] |
|
|
| [dependency-groups] |
| |
| dev = [ |
| "mypy>=1.17.0", |
| "pytest>=8.0.0", |
| "pytest-asyncio>=0.21.0", |
| "pytest-mock>=3.12.0", |
| "pytest-timeout>=2.3.0", |
| "pytest-cov>=6.2.1", |
| "ruff>=0.12.5", |
| "requests>=2.31.0", |
| "factory-boy>=3.3.0", |
| "types-aiofiles>=25.1.0.20260409", |
| "respx>=0.21.0", |
| ] |
|
|
| |
| server = [ |
| |
| "fastapi>=0.104.0", |
| "uvicorn>=0.24.0", |
| "python-multipart>=0.0.20", |
| "watchfiles>=0.18", |
| |
| "crawl4ai==0.7.4", |
| |
| "supabase==2.15.1", |
| "asyncpg>=0.29.0", |
| "psycopg2-binary>=2.9.9", |
| |
| "openai==2.37.0", |
| "google-genai>=0.3.0", |
| |
| "pypdf2>=3.0.1", |
| "pdfplumber>=0.11.6", |
| "python-docx>=1.1.2", |
| "markdown>=3.8", |
| |
| "python-jose[cryptography]>=3.3.0", |
| "cryptography>=41.0.0", |
| "slowapi>=0.1.9", |
| |
| "httpx>=0.24.0", |
| "pydantic>=2.0.0", |
| "python-dotenv>=1.0.0", |
| "docker>=6.1.0", |
| |
| "logfire>=0.30.0", |
| |
| "pytest>=8.0.0", |
| "pytest-asyncio>=0.21.0", |
| "pytest-mock>=3.12.0", |
| "beautifulsoup4>=4.13.4", |
| "lxml>=5.4.0", |
| "APScheduler>=3.10.0", |
| "pydantic-ai==1.44.0", |
| |
| "numpy==1.26.4", |
| "onnxruntime>=1.17.0,<1.20.0", |
| "huggingface-hub>=0.23.0", |
| "transformers==4.44.2", |
| ] |
|
|
| |
| server-reranking = [] |
|
|
| |
| mcp = [ |
| "mcp>=1.18.0", |
| "httpx>=0.24.0", |
| "pydantic>=2.0.0", |
| "python-dotenv>=1.0.0", |
| "logfire>=0.30.0", |
| "fastapi>=0.104.0", |
| "psutil>=5.9.0", |
| "aiofiles==25.1.0", |
| "supabase==2.15.1", |
| "openai==2.37.0", |
| "cryptography>=41.0.0", |
| "python-jose[cryptography]==3.3.0", |
| "beautifulsoup4==4.13.4", |
| "lxml==5.4.0", |
| "crawl4ai==0.7.4", |
| "tenacity>=9.1.4", |
| ] |
|
|
| |
| agents = [ |
| "pydantic-ai==1.44.0", |
| "pydantic>=2.0.0", |
| "fastapi>=0.104.0", |
| "uvicorn>=0.24.0", |
| "httpx>=0.24.0", |
| "python-dotenv>=1.0.0", |
| "structlog>=23.1.0", |
| "python-jose[cryptography]>=3.3.0", |
| "supabase==2.15.1", |
| "psutil>=5.9.0", |
| |
| "numpy==1.26.4", |
| "onnxruntime>=1.17.0,<1.20.0", |
| "huggingface-hub>=0.23.0", |
| "transformers==4.44.2", |
| "crawl4ai==0.7.4", |
| ] |
|
|
| |
| all = [ |
| "fastapi>=0.104.0", |
| "uvicorn>=0.24.0", |
| "python-multipart>=0.0.20", |
| "watchfiles>=0.18", |
| "crawl4ai==0.7.4", |
| "supabase==2.15.1", |
| "asyncpg>=0.29.0", |
| "openai==2.37.0", |
| "pypdf2>=3.0.1", |
| "pdfplumber>=0.11.6", |
| "python-docx>=1.1.2", |
| "markdown>=3.8", |
| "python-jose[cryptography]>=3.3.0", |
| "cryptography>=41.0.0", |
| "slowapi>=0.1.9", |
| "docker>=6.1.0", |
| "logfire>=0.30.0", |
| "APScheduler>=3.10.0", |
| "mcp>=1.18.0", |
| "pydantic-ai==1.44.0", |
| "structlog>=23.1.0", |
| "httpx>=0.24.0", |
| "pydantic>=2.0.0", |
| "python-dotenv>=1.0.0", |
| "pytest>=8.0.0", |
| "pytest-asyncio>=0.21.0", |
| "pytest-mock>=3.12.0", |
| "pytest-timeout>=2.3.0", |
| "requests>=2.31.0", |
| "factory-boy>=3.3.0", |
| "beautifulsoup4>=4.13.4", |
| "lxml>=5.4.0", |
| "aiofiles==25.1.0", |
| ] |
|
|
|
|
|
|
| [tool.ruff] |
| line-length = 120 |
| target-version = "py312" |
|
|
| [tool.ruff.lint] |
| select = ["E", "W", "F", "I", "B", "C4", "UP"] |
| ignore = ["E501", "B008", "C901", "W191"] |
|
|
| [tool.ruff.format] |
| quote-style = "double" |
| indent-style = "space" |
| skip-magic-trailing-comma = false |
| line-ending = "auto" |
|
|
| [tool.mypy] |
| python_version = "3.12" |
| warn_return_any = true |
| warn_unused_configs = true |
| disallow_untyped_defs = false |
| disallow_any_unimported = false |
| no_implicit_optional = true |
| warn_redundant_casts = true |
| warn_unused_ignores = true |
| warn_no_return = true |
| check_untyped_defs = true |
| ignore_missing_imports = true |
|
|