muse-agent-example/pyproject.toml
zizi cf0f4fb985 W20–W24:保存知识方法、迁移框架、审校修订与案例行为的集成成果
接续 88dd570,保存 W20–W24 已实现的共享接口、业务入口、迁移、工作台、测试与文档。
W20/W22/W23 保持 in_progress,W21/W24 保持 verified;此提交不宣称方法或规则正式启用、多轮返修、真实角色评测完成。

W25 新增实验、标定、逐调用交付与角色执行及其迁移/测试/索引留在实施工作树,原有私人和旧实现保留项不纳入。

验证:离线 571、前端 33 通过;PG 469 项通过、2 项浏览器未启用,2 项误带入的 W25 用例已移出本提交;最终任务与交付边界 37 项通过。make 检查、最终类型、84 项资源及 diff 检查通过。未重跑浏览器或 Pi 宿主,不以合成调用认证外部模型效果。
独立整体审查四维通过;证据保存在 R2-20260909/提交W20-W24。
2026-09-13 16:24:42 +08:00

81 lines
2.7 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# muse 应用包:安装、命令、依赖与检查配置。
# 边界:只约束安装、构建或编辑配置;不规范化作者正文、不替代业务权限与验收。
# 运行时依赖随所属工作包逐步加入(W03 数据库、W06 模型传输、W07 HTTP 等),
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "muse"
version = "0.1.0"
description = "Muse:AI 驱动的长篇创作工具(单作者模块化单体)"
requires-python = ">=3.12"
dependencies = [
"fastapi>=0.115",
"httpx>=0.28",
"itsdangerous>=2.2",
"jsonschema>=4.23",
"referencing>=0.28.4",
"psycopg[binary]>=3.2",
"pydantic>=2.0",
"pyyaml>=6.0",
"uvicorn>=0.30",
]
[project.scripts]
muse = "muse.__main__:main"
[dependency-groups]
dev = [
"pytest>=8.3",
"pytest-timeout>=2.3",
"ruff>=0.8",
"pyright>=1.1.390",
]
# 资源发布包(运行资源.zip、清单.json、工作台/)是 gitignore 的生成物:
# 存在时打入 sdist/wheel(artifacts 同时作用于两目标),未生成时不阻塞全新环境安装。
[tool.hatch.build]
artifacts = ["src/muse/资源/**", "!src/muse/资源/迁移/**"]
[tool.hatch.build.targets.sdist]
include = ["/src", "/数据库/迁移", "/数据库/初始化", "/pyproject.toml", "/uv.lock", "/README.md"]
[tool.hatch.build.targets.wheel.force-include]
"数据库/迁移" = "muse/资源/迁移"
[tool.hatch.build.targets.wheel]
packages = ["src/muse"]
[tool.pytest.ini_options]
# 只收集新版用例目录;旧测试(tests/skills、tests/architecture 英文目录)仍由旧环境
# (.venv-旧 + 旧 harness)运行,两套收集互不接管。
testpaths = ["tests/单元", "tests/契约", "tests/集成", "tests/架构", "tests/迁移", "tests/端到端"]
# 独立维护脚本以其目录为导入根;不把旧 muse 树加入路径。
pythonpath = ["数据库/旧库迁移"]
# 架构/契约/集成/单元 是目录级组织;完整用例身份绑定登记文件与符号。
addopts = "--strict-markers --timeout=120"
markers = [
"数据库: 显式外部执行需要 MUSE_TEST_DATABASE_URL;缺配置失败",
"网络: 需要真实网络访问;必须显式标记",
"真实模型: 需要真实模型调用与预算授权;必须显式标记",
"浏览器: 需要真实浏览器与后端;必须显式标记",
]
[tool.ruff]
line-length = 100
target-version = "py312"
src = ["src", "tests", "工具", "数据库/旧库迁移"]
[tool.ruff.lint]
select = ["E", "F", "W", "I", "B", "UP"]
[tool.pyright]
venvPath = "."
venv = ".venv"
include = ["src", "工具", "数据库/旧库迁移"]
extraPaths = ["数据库/旧库迁移"]
pythonVersion = "3.12"
typeCheckingMode = "standard"