[tool.poetry] name = "datacenter-docs" version = "1.0.0" description = "Automated datacenter documentation system with LLM and MCP integration" authors = ["Automation Team "] license = "MIT" readme = "README.md" packages = [{include = "datacenter_docs", from = "src"}] [tool.poetry.dependencies] python = "^3.10" # Web Framework fastapi = "^0.109.0" uvicorn = {extras = ["standard"], version = "^0.27.0"} pydantic = "^2.5.0" pydantic-settings = "^2.1.0" # Database motor = "^3.3.2" # Async MongoDB driver pymongo = "^4.6.1" redis = "^5.0.1" beanie = "^1.24.0" # ODM for MongoDB # MCP (Model Context Protocol) mcp = "^0.1.0" anthropic = "^0.18.0" # Network and Device Management paramiko = "^3.4.0" netmiko = "^4.3.0" pysnmp = "^4.4.12" napalm = "^4.1.0" # Virtualization pyvmomi = "^8.0.1.0" proxmoxer = "^2.0.1" python-openstackclient = "^6.5.0" kubernetes = "^29.0.0" # Storage pure-storage-py = "^1.50.0" # Database Clients mysql-connector-python = "^8.3.0" psycopg2-binary = "^2.9.9" pymongo = "^4.6.1" # Monitoring prometheus-client = "^0.19.0" python-zabbix = "^1.1.0" # Cloud Providers boto3 = "^1.34.34" azure-mgmt-compute = "^30.5.0" google-cloud-compute = "^1.16.1" # Utilities jinja2 = "^3.1.3" pyyaml = "^6.0.1" python-dotenv = "^1.0.1" httpx = "^0.26.0" tenacity = "^8.2.3" python-multipart = "^0.0.9" # CLI typer = "^0.9.0" rich = "^13.7.0" # Websockets for chat websockets = "^12.0" python-socketio = "^5.11.0" # Background tasks celery = {extras = ["redis"], version = "^5.3.6"} flower = "^2.0.1" # LLM Integration langchain = "^0.1.4" langchain-anthropic = "^0.1.1" chromadb = "^0.4.22" [tool.poetry.group.dev.dependencies] pytest = "^8.0.0" pytest-asyncio = "^0.23.3" pytest-cov = "^4.1.0" black = "^24.1.1" ruff = "^0.1.14" mypy = "^1.8.0" pre-commit = "^3.6.0" ipython = "^8.20.0" [tool.poetry.scripts] datacenter-docs = "datacenter_docs.cli:app" docs-api = "datacenter_docs.api.main:start" docs-chat = "datacenter_docs.chat.main:start" docs-worker = "datacenter_docs.workers.celery_app:start" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.black] line-length = 100 target-version = ['py310'] include = '\.pyi?$' [tool.ruff] line-length = 100 select = ["E", "F", "I", "N", "W"] ignore = ["E501"] [tool.mypy] python_version = "3.10" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true [tool.pytest.ini_options] testpaths = ["tests"] python_files = "test_*.py" python_classes = "Test*" python_functions = "test_*" addopts = "-v --cov=src/datacenter_docs --cov-report=html --cov-report=term" [tool.coverage.run] source = ["src"] omit = ["*/tests/*", "*/test_*.py"]