[project] name = "moss-ai" version = "1.0.0" description = "Moss AI 智能家居系统" readme = "README.md" requires-python = ">=3.13" dependencies = [ # A2A SDK and LangChain "a2a-sdk[all]>=0.3.0", "langchain>=0.1.0", "langchain-openai>=0.1.0", "langchain-core>=0.1.0", "langgraph>=0.3.18", "langchain-google-genai>=2.0.10", # FastAPI Backend "fastapi>=0.104.0", "uvicorn[standard]>=0.34.2", "starlette>=0.46.2", "sse-starlette>=2.3.6", # Pydantic "pydantic>=2.10.6", "pydantic-settings>=2.1.0", # HTTP and Networking "httpx>=0.28.1", "requests>=2.31.0", # Device Control (小米 IoT 设备) "python-miio>=0.6.0.dev0", # Database Support "sqlalchemy>=2.0.0", "pymysql>=1.1.0", "psycopg2-binary>=2.9.0", # Data Processing "pandas>=2.0.0", "numpy>=1.24.0", # Configuration "pyyaml>=6.0.0", "python-dotenv>=1.1.0", # Utilities "pycryptodome>=3.19.0", "charset-normalizer>=3.3.0", "pillow>=10.0.0", "colorama>=0.4.6", "click>=8.1.8", # FastMCP "fastmcp>=0.5.0", "numpy>=1.24.0", "scikit-learn>=1.3.0", "jieba" ] [project.optional-dependencies] dev = [ "pytest>=7.4.0", "pytest-asyncio>=0.21.0", ] windows = [ "psutil>=5.9.0", # 微信MCP "pywechat127>=1.8.8", "pyautogui>=0.9.54", "pywinauto==0.6.9", # Windows MCP (完整功能) "click>=8.2.1", "fuzzywuzzy>=0.18.0", "humancursor>=1.1.5", "live-inspect>=0.1.1", "markdownify>=1.1.0", "pdfplumber>=0.11.7", "pygetwindow>=0.0.9", "python-levenshtein>=0.27.1", "tabulate>=0.9.0", "uiautomation>=2.0.24", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.uv] dev-dependencies = [ "pytest>=7.4.0", "pytest-asyncio>=0.21.0", ] [tool.hatch.build.targets.wheel] packages = ["agents", "app"]