pyproject.toml
Python 项目的标准化配置文件(PEP 518),用于声明构建系统、项目元数据与依赖分组,被 uv、pip 等工具广泛支持
核心事实
时间轴 (近 90 天)
中间件拥有独立的依赖组,官方要求把中间件导入的包加入 pyproject.toml 的 vercel.proxy 依赖组,可通过 uv add --group vercel.proxy vercel-proxy 安装官方工具包。
PEP 735 引入了 pyproject.toml 的依赖组(dependency group)标准特性,允许在 [dependency-groups] 下把依赖划分为命名组,由 uv 等工具按组安装。
依赖供给属于编排层(requirements.txt、pyproject.toml、uv、Poetry、Dockerfile);运行时只应消费已就位的环境,缺失依赖时应立即失败并给出安装指引。
插件开发者应把每个实际 import 的第三方模块显式写入 pyproject.toml 或 setup.py 的依赖声明中
在 Python 中,pyproject.toml 里的 dependencies 声明决定了 pip 安装时拉取的包及版本约束范围
对于仍在使用 requirements.txt 的团队,迁移到 Vercel Python 运行时需要把依赖迁移到 pyproject.toml 格式,但迁移成本较低。
Vercel 的 Python 运行时在 Linux 上运行 CPython,依赖管理支持 uv 和 pyproject.toml。
uv 是 Python 社区的包管理与环境工具,主打极快的解析和安装速度,使用 pyproject.toml 作为统一的项目与依赖声明文件,正在逐步替代 requirements.txt 加 virtualenv 的传统组合。
构建后端的选择被写入项目的 pyproject.toml,会影响所有从源码安装该包的用户,因此从个人偏好变成项目对外契约的一部分。
PEP 517 定义了源码包到 wheel 的构建流程与接口规范,引入构建后端角色,要求项目在 pyproject.toml 的 [build-system] 表中声明 build-backend 与 requires,安装工具据此在隔离环境中调用 build_wheel 等标准钩子。
还有 2 条时间轴事件
全部知识事实 (15)
pyproject.toml采用TOML(Tom's Obvious Minimal Language)格式
65%待验证PEP 621(2021年)进一步规范了pyproject.toml中项目元数据的存储格式
90%待验证pyproject.toml最早由PEP 518(2016年)引入,用于声明构建系统依赖
90%待验证PEP 735 引入了 pyproject.toml 的依赖组(dependency group)标准特性,允许在 [dependency-groups] 下把依赖划分为命名组,由 uv 等工具按组安装。
50%待验证中间件拥有独立的依赖组,官方要求把中间件导入的包加入 pyproject.toml 的 vercel.proxy 依赖组,可通过 uv add --group vercel.proxy vercel-proxy 安装官方工具包。
50%待验证依赖供给属于编排层(requirements.txt、pyproject.toml、uv、Poetry、Dockerfile);运行时只应消费已就位的环境,缺失依赖时应立即失败并给出安装指引。
50%待验证插件开发者应把每个实际 import 的第三方模块显式写入 pyproject.toml 或 setup.py 的依赖声明中
50%待验证在 Python 中,pyproject.toml 里的 dependencies 声明决定了 pip 安装时拉取的包及版本约束范围
50%待验证Vercel 的 Python 运行时在 Linux 上运行 CPython,依赖管理支持 uv 和 pyproject.toml。
50%待验证uv 是 Python 社区的包管理与环境工具,主打极快的解析和安装速度,使用 pyproject.toml 作为统一的项目与依赖声明文件,正在逐步替代 requirements.txt 加 virtualenv 的传统组合。
50%待验证对于仍在使用 requirements.txt 的团队,迁移到 Vercel Python 运行时需要把依赖迁移到 pyproject.toml 格式,但迁移成本较低。
50%待验证PEP 517 定义了源码包到 wheel 的构建流程与接口规范,引入构建后端角色,要求项目在 pyproject.toml 的 [build-system] 表中声明 build-backend 与 requires,安装工具据此在隔离环境中调用 build_wheel 等标准钩子。
50%待验证构建后端的选择被写入项目的 pyproject.toml,会影响所有从源码安装该包的用户,因此从个人偏好变成项目对外契约的一部分。
50%待验证当 pyproject.toml 中声明的包版本与锁文件中的记录出现漂移时,可能导致本地与 CI 环境行为不一致
50%待验证Python 的 src 布局和 pyproject.toml 工具已逐渐成为社区标准
50%