跳转到主要内容

Devpi-builder从requirements.txt文件中读取,并逐个将列表中的Python包的wheels填充到devpi索引中。

项目描述

Brandon the Devpi Builder

Coverage Status Latest Version

Brandon,devpi构建器,从requirements.txt文件中读取,并逐个将列表中的Python包的wheels填充到devpi索引中。

Brandon示例

给定一个requirements.txt,我们可以使用以下命令将所有列出的包上传到本地devpi上的索引opensource/Debian_7

$ devpi-builder requirements.txt https://:3141/opensource/Debian_7

此类requirements.txt示例

progressbar==0.2.2
progressbar==0.2.1
PyYAML==3.11

命令行使用

usage: devpi-builder [-h] [--batch] [--user USER] [--password PASSWORD]
                    [--blacklist BLACKLIST] [--pure-index PURE_INDEX]
                    [--junit-xml JUNIT_XML] [--run-id RUN_ID] [--dry-run]
                    [--client-cert CLIENT_CERT]
                    requirements index

Create wheels for all given project versions and upload them to the given
index.

positional arguments:
requirements          requirements.txt style file specifying which project
                        versions to package.
index                 The index to upload the packaged software to.

optional arguments:
-h, --help            show this help message and exit
--batch               Batch mode. Do not prompt for credentials
--user USER           The user to log in as.
--password PASSWORD   Password of the user.
--blacklist BLACKLIST
                        Packages matched by this requirements.txt style file
                        will never be build.
--pure-index PURE_INDEX
                        The index to use for pure packages. Any non-pure
                        package will be uploaded to the index given as
                        positional argument. Packages already found in the
                        pure index will not be built, either.
--junit-xml JUNIT_XML
                        Write information about the build success / failure to
                        a JUnit-compatible XML file.
--run-id RUN_ID       Add the given string to all entries in the XML output,
                        allowing to distinguish output from multiple runs in a
                        merged XML.
--dry-run             Build missing wheels, but do not modify the state of
                        the devpi server.
--client-cert CLIENT_CERT
                        Client key to use to authenticate with the devpi
                        server.

可以使用以下环境变量代替命令行参数

DEVPI_USER

如果没有给出--user,将使用此环境变量的值。

DEVPI_PASSWORD

如果没有给出--password,将使用此环境变量的值。

功能

  • 读取类似requirements.txt的输入文件。

  • 从环境(使用DEVPI_USERDEVPI_PASSWORD)中读取用户/密码。

  • 支持同一文件中的包的多个版本。

  • 仅构建目标索引中尚未存在的包。

  • 支持黑名单,以防止构建和上传某些包(某些包,如numpy,与其他包的依赖关系脆弱)。

  • 可以使用单独的索引为纯Python包和带有二进制内容的包。

  • 可以将构建结果记录到JUnit兼容的XML文件中,因此它可以被Jenkins解析。

许可证

新BSD许可证

变更日志

此列表列出了每个版本最重要的更改。

版本 6.1.0 — 2023-09-22

新增

  • 支持在需求文件中使用VCS URL。

修复

  • 为像zope-event这样的包构建轮子时,不再因为使用点而不是下划线来规范项目名称而出现错误。

版本 6.0.0 — 2023-06-09

新增

  • 现在支持Python 3.10和3.11。

变更

  • 改进了检查已构建包的性能。

移除

  • 取消了对通过setup.py test运行测试的支持。该机制被认为已被上游弃用,移除它允许我们取消依赖。

  • Python 3.6不再受支持。它可能仍然可以工作,但我们将不再针对它运行CI。

版本 5.1.0 — 2021-11-05

新增

  • 提供与pip 21.3及更高版本的兼容性,该版本取消了–build-directory选项。Pip自1.2版本以来一直在使用临时目录进行构建,因此不再需要手动处理此目录。

版本 5.0.1 – 2020-09-09

修复

  • 在比较包名称时遵守不区分大小写的规则。这将导致将“cython”与“Cython”视为同一事物。

版本 5.0.0 – 2020-04-24

修复

  • 移除对内部wheel API的依赖。这阻止了使用wheel版本 >= 0.32。

移除

  • Python 2不再受支持。

  • Python 3.5不再受支持。

版本 4.0.0 – 2018-11-02

修复

  • 正确指定对Wheel的依赖关系,以避免使用不兼容的最新版本。

移除

  • Python 3.3和Python 3.4不再受支持。

版本 3.0.1 — 2017-11-21

修复

  • 正确处理失败的包构建输出中的非ASCII字符。之前的版本如果请求JUnit XML输出文件,则会在这种情况下崩溃。

版本 3.0.0 — 2017-06-16

新增

  • 可以使用命令行参数--batch来禁用任何提示。

变更

  • 凭证传递的方式已被不兼容的方式更改。用户和密码的位置参数不再存在。相反,可以使用以下方式之一

    • 通过--user--password命令行参数传递凭证。

    • 通过环境变量DEVPI_USERDEVPI_PASSWORD传递凭证。

    • 回答用户和密码的交互式提示。只有在未使用--batch的情况下才可能这样做。

版本 2.3.1 — 2017-05-19

变更

  • 如果使用黑名单,则提高了性能。

版本 2.3.0 — 2017-04-07

新增

  • 命令行参数--run-id允许指定一个运行标识符,该标识符将被添加到生成的JUnit XML中的每个条目中。

变更

版本 2.2.0 — 2016-05-23

新增

  • 捕获构建错误,以便在构建失败的情况下输出更好的信息。感谢Travis Mehlinger。

版本 2.1.0 — 2016-04-22

新增

  • 支持客户端证书。感谢Hans Lawrenz。

版本 2.0.0 — 2016-01-20

新增

  • 通过依赖pip的默认下载缓存机制,与pip >= 8.0兼容。这对于仍然使用pip < 6.0的人来说实际上禁用了缓存。感谢Christian Stefanescu。

  • 支持在不更改devpi服务器状态的情况下执行轮子构建的干燥运行。

  • 现在官方支持Python 3.5。

移除

  • Python 3.2 已不再受支持。

版本 1.0.0 — 2015-05-22

变更

  • 请使用 devpi-plumber 代替自定义的 devpi 包装器。

  • 在决定是否构建软件包之前,请首先检查黑名单。

版本 0.4.0 — 2015-09-13

变更

  • 只有当软件包是 wheel 格式且与当前系统兼容时,才认为它存在。感谢 Michael Still 和 David Szotten。

修复

  • 源代码分发现在正确包含 README.md。感谢 Mikhail Lukyanchenko。

版本 0.3.0 — 2015-08-15

新增

  • 支持纯 Python wheel 的特殊情况处理。

  • 可选支持以 JUnit 兼容的 XML 报告跳过的软件包。

  • Python 3 支持

版本 0.2.1 — 2014-08-07

修复

  • 修复了如果构建的 wheel 无法找到(因为 pip<=1.5.2 跳过了它)时崩溃的问题。

版本 0.2.0 — 2014-08-01

新增

  • 支持软件包黑名单,以避免构建某些 wheel。

变更

  • 尽可能多地构建软件包。如果一个失败,不要停止。

版本 0.1.0 — 2014-08-01

新增

  • 构建软件包列表并将其上传到 Devpi 索引。

项目详情


下载文件

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

源代码分发

devpi-builder-6.1.0.tar.gz (24.2 kB 查看散列)

上传时间

构建分发

devpi_builder-6.1.0-py3-none-any.whl (11.4 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面