用途:用于搭建现代 Python monorepo,通过 uv 管理工作区、mise 管理 Python 版本与任务,采用 apps/packages 目录划分可部署应用与共享库。
主要能力:单一仓库容纳多个包与应用;uv workspace 提供全仓单一 lock 文件、共享虚拟环境、跨包依赖解析;按发行名互相引用工作区包,实现跨包导入;mise 定义 Python 版本与任务(如 lint、typecheck、test),可用 mise run check 运行检查。
必要用法:根 pyproject.toml 配置 requires-python 与 [tool.uv.workspace] members(如 apps/、packages/),并在 [tool.uv] 的 dev-dependencies 中放 pytest、ruff、basedpyright 等共享工具;子包各自写 [project] 的 name 与 dependencies,按发行名引用。常用命令:uv sync、uv add fastapi --package my-api、uv add my-core --package my-api、uv run pytest、uv lock --upgrade。
依赖方向:apps 可依赖 packages,packages 可依赖其他 packages,packages 不得依赖 apps,避免循环依赖。
适用场景与限制:适合多应用共享库的 Python 项目;需 Python 3.12 及以上。关于具体版本上限、收费与平台支持,资料暂未提供。