SuperAPI AI 工具集

python-monorepo

编程与开发

查看项目

更新于 10-16 06:45

技能介绍

用途:在单个仓库中管理多个相关的 Python 包与应用,采用 uv workspace 与 mise 组织版本、依赖和任务,适合搭建或排查 uv workspace 配置。

主要能力:uv workspace 提供整个仓库的单一锁文件(uv.lock)、共享虚拟环境与跨包依赖解析;目录通常分为 apps/(可部署应用)与 packages/(共享库),根 pyproject.toml 中配置 [tool.uv.workspace] members = ["apps/", "packages/"],开发工具放在 [dependency-groups] dev 中。包之间按分发名互相引用,并在 [tool.uv.sources] 中声明某包为 workspace 来源,例如 my-core = { workspace = true }。依赖方向应为 apps/ → packages/,避免循环依赖;一般不允许 packages 依赖可部署应用。

使用方式:用 mise 在 .mise.toml 固定 Python 版本(如 3.14)并定义任务,如 [tasks.lint] run = "uv run ruff check .",通过 mise run check 执行依赖链。常用命令:uv sync 同步根项目及其依赖闭包,uv sync --all-packages 同步全部成员,uv add fastapi --package my-api 向指定包添加依赖,uv add my-core --package my-api 添加工作区包,uv run pytest 运行测试,uv lock --upgrade 升级依赖。

适用场景与限制:适合多包共享代码、需要统一锁文件与工具链的 Python 项目;也可结合 Docker 构建可复现的非 root 镜像,以及使用 PEP 420 命名空间包做逻辑分组(可选)。资料未提供具体平台、收费、价格与效果数据,相关内容暂未提供。