Files
server-core/pyproject.toml
T
Pine ee1dfdfed9 feat(db): 数据库层 MySQL 适配(方言钩子/同步驱动映射/种子方言分支)
- infrastructure/db.py:MySQL 方言编译钩子(String 无长度→VARCHAR(255),Text→MEDIUMTEXT);
  新增 sync_database_url/make_sync_engine(sqlite+aiosqlite→sqlite,mysql+asyncmy→mysql+pymysql)
- models.py:sessions.token 显式 String(2048)、system_configs.value 改 Text(存量数据超 255,MySQL 需兼容)
- seed.py:_add_agent 幂等插入按方言分支(SQLite=INSERT OR IGNORE / MySQL=INSERT IGNORE)
- park/tenants.py:同步只读引擎改走 make_sync_engine(原 +aiosqlite replace 对 MySQL 无效)
- 依赖补 pymysql;.env.example 补 PINEAGENTS_DEMO_DATABASE_URL 说明
2026-08-31 21:40:17 +08:00

52 lines
1.2 KiB
TOML

[project]
name = "pineagents-demo-server"
version = "0.1.0"
description = "云超服核心服务端(FastAPI + SQLite + JWT + RBAC):身份/平台 API + 培训子应用(/api/*),统一对外 opc.pinesound.cn"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.30.0",
"pydantic>=2.7.0",
"sqlalchemy[asyncio]>=2.0.30",
"aiosqlite>=0.20.0",
"asyncmy>=0.2.9",
"redis>=5.0.0",
"aioboto3>=13.0.0",
"pyjwt>=2.8.0",
"httpx>=0.27.0",
"python-multipart>=0.0.12",
"paho-mqtt>=1.6,<2",
"dashscope>=1.27.1",
"jinja2>=3.1.6",
"nltk>=3.10.3",
"numpy>=2.4.6",
"openai>=3.3.1",
"scipy>=1.17.1",
"soundfile>=0.14.0",
"websockets>=17.0.1",
"torch>=2.13.0",
"transformers>=5.15.1",
"alembic>=1.19.1",
"aiofiles>=24.1.0",
"pymysql>=1.2.0",
]
[dependency-groups]
dev = [
"pytest>=8.0.0",
"httpx>=0.27.0",
"pytest-asyncio>=0.23.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["app"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"