跳转到主要内容

适用于Python、Java、Scala、Go和Shell的符合人体工程学和密封的软件构建系统。Pants可以让您无惧扩展您的代码库。

项目描述

Pants 是一个用 Python 和 Rust 编写的 Apache2 许可证的构建工具。

最新文档可在 pantsbuild.org 找到。

2.17.x 发布系列

❗❗❗ 此项目不再通过 PyPI 发布,而是通过 GitHub 发布。请参阅 https://github.com/pantsbuild/pants/releases

新增功能

个人和公司现在可以 为 Pants 提供财务赞助

Pants 是一个开源项目,不属于也不受任何一家公司或组织的拥有和控制,并且确实会产生一些费用。这些费用由 Pants Build 管理,这是一个为该目的成立的非营利组织。该非营利组织的唯一收入来源是使用 Pants 的个人和公司的赞助。

我们为公司提供 正式的赞助层级,以及通过 GitHub 的个人赞助。

总体而言

现在推荐使用 pants 启动器二进制文件(又名 scie-pants)来运行 Pants。在存储库中使用 ./pants 脚本已被弃用。

pants 启动器具有许多优点,例如

  • 自动下载并维护用于运行 Pants 的 Python 发行版
  • 可以从存储库中的任何目录运行 pants,而不仅仅是构建根目录
  • 启动命令时的开销大大减少(高达 4-5 倍)

有关如何迁移到 pants 启动器二进制文件的更多信息,请参阅 Pants 安装说明

与此相关,pants 的分发模型正在改变,2.17 将是最后一个将 pantsbuild.pants 软件包发布到 PyPI 的版本。

  • 请使用 pants_requirements 目标来安装插件所需的软件包,而不是使用 python_requirement 或类似的目标。
  • 通用的(跨平台)pants PEX 已发布到 GitHub 发布。对于未来的版本,将附加更小的针对平台的 PEX。

性能

如上所述,新的启动器二进制文件减少了启动开销。

大型文件现在作为独立的文件存储在磁盘上,而不是直接存储在 pants 使用的内部数据库中(但仍然在 ~/.cache/pants/lmdb_store 目录下)。这提高了对这些文件的操作性能,尤其是在缓存目录和沙盒临时目录位于同一文件系统上并允许硬链接的情况下。

后端

Python

Python 依赖现在通过在 Rust 中实现的内在规则进行分析,以提高性能,该规则优于之前的 Python 实现的规则。请参阅 #18854 以了解性能改进的讨论。

导出的可变虚拟环境现在可以包含 PEP-660python_distribution 目标的可编辑安装。要为此解析启用此功能,请将解析的名称添加到 pants.toml 中的 [export].py_editables_in_resolves 列表中。请参阅 #18639 以了解 Pants 的 PEP-660 实现的详细信息。

Pants 内部使用的默认 pip 已从 20.3.4 更改为 23.1.2。这个较新的 pip 在许多情况下具有更好的依赖关系解析性能,但可能产生与早期 pip 不同的结果。当然,这些结果仍然在意义上是正确的,即它们将与您的需求和解约相兼容。

python_awslambdapython_google_cloud_function 目标现在支持由云供应商推荐的新 'zip' 布局。这种布局比现有的 Lambdex 布局产生的包更小,启动速度更快,并在 2.18 版本中成为默认设置。有关 python_awslambda 的迁移信息,请参阅文档,有关 python_google_cloud_function 的迁移信息,请参阅文档

[python].interpreter_constraints 选项的默认值在 2.16 版本中已弃用,并已移除:必须通过 pants.toml 提供此选项。如果您可以,我们建议将约束限制为单个解释器次要版本,例如:interpreter_constraints = ['==3.11.*']。有关更多详细信息,请参阅解释器兼容性文档

Docker

Docker 后端现在支持通过 DOCKER_HOSTDOCKER_CONFIGDOCKER_CERT_PATH 环境变量进行注册表身份验证。

新功能:实验性支持 JavaScript

由于 Tobias Nilsson 和 Theo Ribeiro 的持续努力,Pants 现在对 JavaScript 有 非常早期 的实验性支持。请注意,JavaScript 后端仍不完整,正在积极开发中,可能存在关键错误。尽管如此,Pants 维护者非常感谢社区提供的任何反馈,以帮助我们指导开发工作。

支持的目标包括

  • test:允许您通过包管理器安装的运行器运行测试。
  • package 目标,可以是运行一个通过 node_build_script 生成实体的自定义 package.json 脚本,或者通过 npm_distribution 目标打包 tarball 以供 npm-registry 发布。
  • tailor:为 *.js*.test.jspackage.json 文件生成构建文件目标。
  • generate-lockfile:创建与项目的包管理器格式匹配的 lockfile。

后端支持 corepack 提供的所有包管理器。yarn@v2PlugNPlay 不受支持。

启用 pants.backend.experimental.javascript 后端以尝试此支持。对于遇到的任何问题,请提交问题,并关注 GitHub 上的稳定性票据

新功能:Taplo TOML 格式化工具

Pants 现在支持 Taplo TOML 格式化工具。启用 pants.backend.tools.taplo 后端以添加此支持。

插件 API 变更

规则现在应通过新的单参数形式的 Get 请求不需要输入类型的输出类型。例如,规则现在可以编写 await Get(ChosenLocalEnvironmentName)。某些仅用于解决先前缺乏此类语法的请求类型现在已弃用,并改用单参数形式的 Get()

现在已弃用 PythonBinary 类型,应使用 PythonBuildStandalone 代替。


2.17.1 (2023 年 11 月 10 日)

2.17.x 系列的第二次稳定发布,自上次 rc 以来只有文档变更!

2.17.1rc3 (2023 年 10 月 28 日)

错误修复

  • 添加异步文件打开的最佳努力限制以减少文件句柄数量(#20055 的 cherry-pick)(#20078)

2.17.1rc2 (2023 年 10 月 17 日)

错误修复

  • 修复了收集带有覆盖的 Go 构建请求的算法(#20030 的 cherry-pick)(#20033)

  • docker_image:必须填充 image_tags 字段。(#19980 的 cherry-pick)(#19991)

文档

  • docs:删除 pants 2.15 示例配置(#19995 的 cherry-pick)(#19997)

2.17.1rc1 (2023 年 10 月 6 日)

错误修复

  • 在同一个 BUILD 文件中支持使用 __defaults__ 作为环境目标。(来自 #19446 的 cherry-pick)(《#19969》)

  • 为 M1 支持,从 vscode-shellcheck 获取 shellcheck(来自 #19945 的 cherry-pick)(《#19952》)

  • 在 write_digest 中立即使已写入的文件无效(来自 #19903 的 cherry-pick)(《#19949》)

  • 修复由于同一设备上多个挂载导致的 "无法创建硬链接" 错误(来自 #19894 的 cherry-pick)(《#19914》)

  • yamllint 后端添加缺少的 __init__.py 文件(来自 #19899 的 cherry-pick)(《#19906》)

文档

  • 将 Tom 和 Gautham 添加到贡献者页面(来自 #19955 的 cherry-pick)(《#19962》)

  • 从文档中删除对 PyPI/pantsbuild.pants 轮子的引用(来自 #19924 的 cherry-pick)(《#19936》)

2.17.1rc0(2023 年 9 月 20 日)

新功能

  • with contextlib.suppress(ImportError) 弱化导入(来自 #19293 的 cherry-pick)(《#19789》)

错误修复

  • pantsd 签名功能移植到 Rust,并从本地客户端验证(来自 #19833 的 cherry-pick)(《#19867》)

  • 将 register.py 注册的附加目录添加到 pants bin 依赖中(来自 #19848 的 cherry pick)(《#19855》)

  • 修复命名空间包的全局报告覆盖率(来自 #19821 的 cherry-pick)(《#19837》)

  • 允许 TargetRootsToFieldSets 的请求者关闭二级所有权警告(来自 #19721 的 cherry-pick)(《#19734》)

性能

  • 删除对 Paths 的记忆化以减少内存使用(来自 #19689 的 cherry-pick)(《#19717》)

文档

  • 文档:删除工具链引用(cherrypick #19508)(《#19828》)

  • 文档:改进全局选项 'PANTS_CONCURRENT' 的帮助字符串(来自 #19822 的 cherry-pick)(《#19824》)

  • 修复文档(InitialConfiguration)go 后端(来自 #19806 的 cherry-pick)(《#19809》)

  • 修复 Lambda 文档中的拼写错误(来自 #19739 的 cherry-pick)(《#19746》)

  • 更新文档变更日志以包含 2.17.x。(来自 #19729 的 cherry-pick)(《#19736》)

2.17.0(2023 年 8 月 29 日)

该系列的第一个稳定版本,自上一个 rc 以来没有变化!

2.17.0rc5(2023 年 8 月 26 日)

错误修复

  • 从默认映射中删除 tensorboard 映射(来自 #19673 的 cherry-pick)(《#19677》)

文档

  • 回滚到 2.17:文档:在插件目标示例中设置 EnvironmentBehavior(来自 #19590 的 cherry-pick)(《#19664》)

2.17.0rc4(2023 年 8 月 23 日)

用户 API 变更

  • 对于新的分发模型,要求 scie-pants 0.9.2 或更高版本(来自 #19654 的 cherry-pick)(《#19655》)

  • 将 Python 3.12 添加到默认解释器宇宙(来自 #19641 的 cherry-pick)(《#19651》)

错误修复

  • Pants 创建 immutable_inputs 基父(来自 #19646 的 cherry-pick)(《#19652》)

  • 在可能的情况下使用硬链接为 mypy 缓存(来自 #19633 的 cherry-pick)(《#19650》)

  • 撤销 pyenv 安装将文件标记为 RO(来自 #19645 的 cherry-pick)(《#19648》)

  • 使 mypy 缓存移动真正原子化(来自 #19610 的 cherry-pick)(《#19615》)

  • 使用命名的缓存用于 Docker-env PBS(来自 #19611 的 cherry-pick)(#19616)

  • 为 Rust 依赖推断添加路径到缓存键,用于相对导入(来自 #19630 的 cherry-pick)(#19640)

文档

  • 回滚到 2.17:修复死链接文档(来自 #19546)(#19659)

  • 在 2.17 的“新功能”中添加额外的提及和调整(来自 #19629 的 cherry-pick)(#19642)

  • docs:修复 setting-up-ideinterpreter-compatibility 文档中的代码示例(来自 #19624 的 cherry-pick)(#19639)

  • docs:修复 Markdown 不一致性(来自 #19363 的 cherry-pick)(#19622)

  • docs:在变更日志中添加 2.16 条目(来自 #19589 的 cherry-pick)(#19597)

2.17.0rc3(2023 年 8 月 13 日)

用户 API 变更

  • 升级默认 pip 到 v23.1.2。(来自 #19538 的 cherry-pick)(#19541)

错误修复

  • Scala:支持依赖推断中的 Enums(来自 #19588 的 cherry-pick)(#19593)

  • 修复新工具锁文件弃用消息。(来自 #19565)(#19565)

  • 修复 golangci-lint 运行脚本(来自 #19015 的 cherry-pick)(#19473)

文档

  • v2.17.x 的“新功能”初稿(来自 #19168 的 cherry-pick)(#19595)

  • 在文档中添加 ruff,调整 pyugprade,autoflake(来自 #19555 的 cherry-pick)(#19576)

  • 捕获 google artifact registry 的陷阱(来自 #19568 的 cherry-pick)(#19570)

  • 停止在 CI 文档中引用 ~/.cache/pants/setup(来自 #19554 的 cherry-pick)(#19561)

  • 可见性:文档修复和澄清。(来自 #19438 的 cherry-pick)(#19494)

2.17.0rc2(2023 年 7 月 14 日)

错误修复

  • 可见性:修复使用目标类型在详细规则选择器中的问题。(来自 #19437 的 cherry-pick)(#19456)

  • 使用 "package_name" 变量修复 UnboundLocalError。(来自 #19433 的 cherry-pick)(#19453)

  • 修复 Helm 文档示例(来自 #19271 的 cherry-pick)(#19313)

文档

  • 调整获取帮助文档(来自 #19418 的 cherry-pick)(#19419)

  • 改进 run_shell_command 文档(来自 #19413 的 cherry-pick)(#19421)

  • 在 docsite 中添加赞助页面。(来自 #19412 的 cherry-pick)(#19416)

  • 从仓库中的 markdown 文件获取文档标题(来自 #19311 的 cherry-pick)(#19321)

  • docs:调整缓存信息布局,删除 toolchain :( 以及关于 bazel-remote-cache 的附加信息(来自 #19299 的 cherry-pick)(#19329)

2.17.0rc1(2023 年 6 月 8 日)

插件 API 变更

  • 弃用 PythonBinary 的使用(来自 #19209 的 cherry-pick)(#19222)

错误修复

  • 改善 Helm 单元测试中额外文件的处理(来自 #19263 的 cherry-pick)(#19268)

  • 将 taplo 添加到发布(来自 #19258 的 cherry-pick)(#19259)

  • 处理 Rust 依赖推断解析器中的 from foo import * 通配符导入(来自 #19249 的 cherry-pick)(#19255)

  • 修复二级所有权警告语义(来自 #19191 的 cherry-pick)(#19224)

2.17.0rc0(2023 年 6 月 1 日)

用户 API 变更

  • 弃用 python 工具上的 version/extra_requirements 选项。(来自 #19204 的 cherry-pick)(#19211)

  • Terraform:MacOS 二进制文件的哈希值已更改(来自 #19004 的 cherry-pick)(#19136)

  • 为 Lambda/GCF 实现布局="zip",弃用 lambdex(#19076 的 cherry-pick) (#19120)

  • 弃用 [mypy].extra_type_stubs 及其 lockfile。(#19084 的 cherry-pick)(#19087)

  • 提前弃用工具的 --export 选项。(#19079 的 cherry-pick)(#19083)

错误修复

  • 发现 Scala REPL 主类和坐标(#19189 的 cherry-pick)(#19203)

  • 在尝试安装之前清除 Pyenv 安装目录。(#19193 的 cherry-pick)(#19197)

  • 在 Rust Python 依赖推理中避免在父导入中使用多余的 .(#19175 的 cherry-pick)(#19177)

  • 不要尝试回收临时文件(#19103 的 cherry-pick)(#19113)

  • 在添加前言时,如果已存在 shebang,则保留它。(#19133 的 cherry-pick)(#19138)

  • 解决 S3 URL 处理器后端中的 botocore 错误(#19056 的 cherry-pick)(#19111)

文档

  • tobni 添加到维护者列表(#19195 的 cherry-pick)(#19207)

  • 调整 FaaS 文档以支持 layout = "zip"(#19180 的 cherry-pick)(#19198)

  • botocore-a-la-carte 参考添加到 s3 URL 处理器(#19055 的 cherry-pick)(#19109)

  • 将 bazel-remote 添加到兼容远程缓存列表(#19041 的 cherry-pick)(#19115)

  • 修复指向 pants_from_sources 脚本的文档链接。(#19088 的 cherry-pick)(#19091)

2.17.0a1(2023 年 5 月 19 日)

由于基础设施问题,2.17.0a1 是发布 2.17.0a0 的第二次尝试。

2.17.0a0(2023 年 5 月 18 日)

注意:由于基础设施问题,2.17.0a0 未发布到 PyPI。

新功能

  • 添加工作单元日志插件(#18984)

  • javascript: 添加对 yarn@v1 的支持(#18928)

  • javascript: 支持 Node.js 子路径导入(#18934)

  • 添加 Taplo toml 格式化工具(#18865)

  • 将 Pants 原生客户端包含在发布的 wheels 中(#18957)

  • 提取 Python 依赖(#18854)

用户 API 变更

  • 不要为所有 SHA 发布 wheels,并从 Github Actions 发布到 PyPI。(#19028)

  • 在工具要求中支持 Python requirement target addrs。(#19014)

  • javascript: 添加显式的 npm_distribution target 而不是耦合到 node_package(#18925)

  • 缩短不带 --resolveexport 的弃用时间(#19000)

  • 升级 Pex 到 2.1.137。(#19003)

  • 移除 anonymous-telemetry 的底层实现(#18952)

插件 API 变更

  • 将 Django 迁移推理从 PythonDependencyVisitorRequest 迁移出来(#19008)

  • fmtrequest -> abstractfmtrequest(#18935)

错误修复

  • run_shell_command 中使用 {bin_name()} run 作为 $0(#19020)

  • 使 DigestSubset 成为符号链接感知的(#18963)

  • javascript: 不要将字面 {chroot} 添加到 pnpm 缓存路径中(#18921)

文档

  • 澄清如何在 run_in_shell_command 中正确设置 $0 (#19019

  • 为 2.16.x 版本调整文档(#19009

  • 修复文档中的示例 first_party_dependency_version_scheme#18993

2.17.0.dev5(2023年5月8日)

新功能

  • javascript:实现依赖推断的禁用并提高容错性(#18931

  • javascript:添加对 pnpm 包管理器的支持(#18864

  • 积极清理正在运行的节点而不是中断它们。(#18855

  • javascript:Nodejs 测试批量支持(#18742

  • 新 API 类型:CurrentExecutingGoals。(#18788

用户 API 变更

  • javascript:在 node_build_script 目标中支持 package 目标(#18926

  • 弃用 scie-pants 外运行 Pants。(#18833

  • 升级 Pex 到 2.1.135。(#18876

插件 API 变更

  • 删除冗余的 PythonToolBase/JvmToolBase 功能。(#18805

错误修复

  • 确保在 dist/ 中完全替换打包的工件(#18930

  • 在计算解析名称时使用集合(#18939

  • 在计算解析名称时使用集合(#18939

  • javascript:处理放置在仓库根目录的 package.json(#18919

  • 实际上运行弃用的目标修复程序(#18860

  • 在创建符号链接时,如果存在则删除现有条目(#18873

  • 确保非歧义的参数/环境变量注入到 PEX 中(#18861

  • 在 run_shell_command 中正确处理 workdir="."/default(#18840

  • 相对于 workdir 编写 adhoc_tool(stdout/stderr="..."),支持绝对路径(#18814

  • 修补 StreamingWorkunitContext.get_expanded_specs()。(#18713

  • 帮助后端:除非是高级帮助,否则仅列出启用的实验后端。(#18821

  • 将构建根目录用作 shell_command(workdir="") 的工作目录(#18813

  • 在 pants 分布中将 pants.backend.url_handlers.s3 包括在内(#18826

性能

  • 优化 TargetFieldSet 操作(#18917

  • 处理一些 noqa: PNT30 await-in-loops(#18831

文档

  • 更新 CoC 违规报告的响应团队身份。(#16410

  • 修复 adhoc output_... 示例,记录 run_shell_command 的工作目录更改(#18894

  • 添加帮助字符串中缺失的反引号(#18907

  • 将 Salesforce 添加到用户列表(#18891

  • 更新有关自托管操作运行器的故障排除文档(#18900

  • 感谢 ARM 程序为我们提供 CI 资源。(#18892

  • 特性:更新 installation.md(#18836

  • 删除关于使用 readme.com 编辑文档的引用(#18863

  • 修复第三方示例中的库名拼写错误(#18862

  • 更新 mypy 和 pytest 文档以引用 install_from_resolve(#18791

  • 在用法帮助中包括 symbols 作为主题(#18825

  • 文档:重新排列贡献者步骤,安装git钩子需要rustup才能顺利运行(#18828

2.17.0.dev4(2023年4月23日)

新功能

  • javascript:使用corepack管理npm版本(#18748

  • python_distribution的可编辑安装适用于exports(#18639

用户 API 变更

  • 默认使用整个工具锁文件。(#18793

  • 将Pex升级到2.1.134。(#18785

  • 为工具使用resolve的ICs。(#18776

  • BinaryPath工厂方法中使用Self回退。(#18763

  • 弃用“二级所有权”语义(#18737

  • 扩展ruff的版本范围并升级它(#18707

插件 API 变更

  • 允许BinaryPaths封闭其类型。(#18760

  • 为工具设置一个中央默认ICs。(#18714

错误修复

  • OverridesField.compute_value()必须返回一个可哈希的值。(#18787

  • 去重图错误。(#18770

  • 在重命名不可变存储文件之前将元数据刷新到磁盘(#18768

  • remove文件时清除FSDB物化缓存(#18747

  • lint/test中批量设置字段集时,使用地址作为稳定的键(#18725

  • 修复未定义defaultFieldrepr。(#18719

  • 添加ruff的lint规则(#18716

  • javascript:在nodejs沙箱中使用二进制shims(#18682

文档

  • 改进无效目标/目标字段的错误位置。(#18366

  • 添加有关如何配置Docker Desktop以使用docker_environment的信息(#18786

  • 更新linter文档以引用install_from_resolve#18781

  • 文档:修复requirements-overrides代码片段中的错别字(#18750

  • 编辑Python发布文档以提高清晰度(#18718

2.17.0.dev3(2023年4月10日)

新功能

  • Helm:在Chart模板中添加对DNS查找的支持(#18670

  • 将全局Git忽略文件和.git/info/exclude包含在pants_ignore中,以忽略文件监视(#18649

用户 API 变更

  • 移除弃用的默认ICs(#18627

插件 API 变更

  • 移动/重命名:goals/setup_py.py -> {util_rules,goals}/package_dists.py + subsystems/setup_py_generation.py#18702

  • 弃用一些Request类型,以支持仅有一个参数的Get()#18655

  • 添加对无输入参数的Get(MyType)语法的支持(#18648

错误修复

  • pex_binaryRunRequest添加一个完全限定的Python解释器路径(#18699

  • std::io::Error隐式转换为StoreError#18696

  • 为远程存储调用添加超时,并调整缓存超时名称(#18695

  • 使 adhoc_tool 真正尊重 extra_env_vars 字段;添加测试(#18692

  • 文档:描述规则编译过程中的相关错误模式(#18663

  • 将 Pex 的最低支持版本提升到 v2.1.129。(#18678

  • 修复旧版 Mac OS 上 JVM 资源 JAR 创建问题(#18673

  • javascript:在 javascript 规则中不要读取未映射的 package.json 文件(#18523

文档

  • 添加 PEP 621 pyproject.toml 文件文档(#18672

  • 记录多用户遇到的 AWS CDK 问题。(#18656

  • 在没有激活相关后端的情况下使用目标时出错(#18420

  • 改进 lockfile 消费错误信息。(#18638

  • 从一般先决条件页面中删除一个特定于 Python 的提示。(#18637

  • 使 UUID 消息更清晰(#18561

2.17.0.dev2(2023 年 3 月 31 日)

新功能

  • javascript:测试带有已安装包管理器测试运行器的目标(#18554

  • 公开 PANTS_VERSION 并使其可字符串比较(#18573

用户 API 变更

  • 升级 Pex 到 2.1.131。(#18626

错误修复

  • 确保在清理沙箱之前,沙箱化的进程已退出(#18632

  • 将 lockfile/internal 代码完全通过 create_pex_from_targets 导出(#18622

  • 缩小 pex_binary 文件的警告(#18619

  • 修复 PexPEX 调用(#18610

  • 改进 docker auth 的调试信息,并公开一个环境变量。(#18599

性能

  • 每次仅在每个进程中对不可变文件进行一次实例化(#18600

文档

  • 修复一个应该是 f-string 的字符串(#18608

  • 修复一些文档和帮助字符串中的 ./pants -> pants。(#18596

2.17.0.dev1(2023 年 3 月 24 日)

新功能

  • engine:在将摘要写入磁盘时添加清除目标目录的选项(#18534

  • javascript:通过二进制路径、PATH、asdf 或 nvm 进行 NodeJS 引导(#18520

  • javascript:初始 NPM 支持(#18326

  • 始终提供 Python-for-Pants-scripts(#18433

用户 API 变更

  • 升级 Pex 到 2.1.130。(#18576

  • 弃用旧式自定义工具锁文件。(#18494

  • 让用户解决与同一名称的工具锁文件冲突(#18481

错误修复

  • 确保符号链接的导出 venv 存在且有效。(#18575

  • 对于尝试使用带有 docker 环境的 test --debug 的尝试快速失败(#18560

  • 将 ruff 输出声明为文件。(#18551

  • 添加对 Docker 仓库身份验证的支持(#18541

  • 修复带有标记的 URL 的 Poetry req 综合问题。(#18535

  • 在 macOS 上重新启用使用 fclonefileat 的硬链接。(#18501

性能

  • 在新存储位置实例化“大型”文件,并在沙箱中进行硬链接(#18153

  • 完成进程输入的并行化实例化(#18469

文档

  • adhoc_tool 文档的第一次尝试(#18531

  • 将 Tobias Nilsson 添加到团队页面(#18571

  • docs: 修复帮助中的 f-string(#18539

  • 阐明 experimental_ shell 函数已弃用并被替换(#18529

  • 更新使用 scie-pants 从源运行 pants 的文档(#18513

  • 将 ExoFlare 添加到用户列表。(#18496

  • 修复文档中 pantsbuild/example-python 链接的格式错误(#18484

  • 更新 scie-jump 缓存目录引用(#18485

  • 将锁文件文档扩展为其自己的页面。(#18471

2.17.0.dev0(2023 年 3 月 10 日)

新功能

  • 在进程元数据上公开环境信息(#18458

  • 支持在项目的任何位置运行 pants。(#18412

用户 API 变更

  • 审查和更新 Python 工具的需求。(#18431

  • 升级 Pex 到 2.1.128。(#18453

错误修复

  • pantsd 中保留环境变量以允许 Docker 认证。(#18465

  • 仅在前置文件中公开 from typing import * 的等效功能。(#18452

  • 支持前置文件中的类型提示。(#18442

  • 合成的锁文件目标永远不会在缺少锁文件时出错。(#18406

  • xdot 可视化的修复(#18421

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

此版本没有可用的源分发文件。请参阅生成分发存档的教程。

构建分发

pantsbuild.pants-2.17.1-cp39-cp39-manylinux2014_x86_64.whl (47.9 MB 查看哈希值)

上传时间 CPython 3.9

pantsbuild.pants-2.17.1-cp39-cp39-manylinux2014_aarch64.whl (47.4 MB 查看哈希值)

上传时间 CPython 3.9

pantsbuild.pants-2.17.1-cp39-cp39-macosx_11_0_arm64.whl (13.7 MB 查看哈希值)

上传时间 CPython 3.9 macOS 11.0+ ARM64

pantsbuild.pants-2.17.1-cp39-cp39-macosx_10_15_x86_64.whl (14.0 MB 查看哈希值)

上传于 CPython 3.9 macOS 10.15+ x86-64

pantsbuild.pants-2.17.1-cp38-cp38-manylinux2014_x86_64.whl (47.9 MB 查看哈希值)

上传于 CPython 3.8

pantsbuild.pants-2.17.1-cp38-cp38-macosx_10_15_x86_64.whl (14.0 MB 查看哈希值)

上传于 CPython 3.8 macOS 10.15+ x86-64

pantsbuild.pants-2.17.1-cp37-cp37m-manylinux2014_x86_64.whl (47.9 MB 查看哈希值)

上传于 CPython 3.7m

pantsbuild.pants-2.17.1-cp37-cp37m-macosx_10_15_x86_64.whl (14.0 MB 查看哈希值)

上传于 CPython 3.7m macOS 10.15+ x86-64