[build-system] requires = ["setuptools>=68.0"] build-backend = "setuptools.build_meta" [project] name = "easel" version = "0.2.1" description = "社媒内容工作流整合层 — Easel CLI" requires-python = ">=3.10" # 运行依赖统一安装,确保 Web、媒体处理和浏览器发布开箱可用。 dependencies = [ "fastapi>=0.115,<1", # Web 后端 "uvicorn>=0.30,<1", # ASGI server(easel web) "sse-starlette>=2.1,<4", # 对话流式 SSE "httpx>=0.27,<1", # 对话直连常驻网关(EASEL_CHAT_TRANSPORT=http)的 SSE 客户端 "pydantic>=2.7,<3", # 请求模型 "segno>=1.6,<2", # B站扫码登录二维码渲染(纯 Python) "python-multipart>=0.0.9,<1", # FastAPI 文件上传 / Form "Pillow>=10,<13", "opencv-python>=4.8,<5", "numpy>=1.26,<3", "pandas>=2,<4", "matplotlib>=3.8,<4", "librosa>=0.10,<1", "faster-whisper>=1,<2", "edge-tts>=6,<8", "playwright>=1.45,<2", "rembg>=2.0,<3", "biliup>=1,<2", "jieba>=0.42,<1", "snownlp>=0.12,<1", "markdown>=3.5,<4", # ask_user 问答题桥接(easel/gateway_questions.py):连本地 gateway WS RPC + Ed25519 设备签名 # 只用到 load_pem_private_key + Ed25519.sign(长期稳定 API),上界放宽避免与新版冲突 "websocket-client>=1.7,<2", "cryptography>=42", ] [project.scripts] easel = "easel.cli:main" [tool.setuptools.packages.find] include = ["easel*"]