跳转到主要内容

检查SDist与git的内容

项目描述

check-sdist

Actions Status PyPI version PyPI platforms

您是否曾发送过带有缺失文件的损坏SDist或可能包含不应存在的文件的脏SDist?您是否注意到符合标准化的工具并没有生成与flit build相同的SDist?当您从macOS发布时,hatchling是否会添加.DSStore文件?无论您使用什么构建后端,check-sdist都可以帮助您!

Check-sdist构建一个SDist,并将内容与您的Git仓库内容进行比较。它甚至可以临时注入常见的垃圾文件(如pycache文件或特定于OS的文件),并帮助验证这些文件不会捆绑到您的SDist中。如果您收到了您没有预期的文件或您期望缺失的文件,请参考您构建后端的文档,以了解如何包含或排除文件。

快速开始

要运行

$ pipx run check-sdist[uv]

您可以将--no-isolation添加到禁用构建隔离(更快,但必须预先安装构建依赖项),添加--source-dir以选择不同的源目录进行检查,以及添加--inject-junk以在运行时临时注入一些常见垃圾文件。您可以使用--installer=选择用于构建的安装程序,选项有uvpipuv|pip,其中如果可用将使用uv(默认)。

如果您需要最新开发版本

$ pipx run --spec git+https://github.com/henryiii/check-sdist check-sdist

pre-commit集成

要使用pre-commit集成,请将以下内容放入您的.pre-commit-config.yaml

- repo: https://github.com/henryiii/check-sdist
  rev: v1.0.0
  hooks:
    - id: check-sdist
      args: [--inject-junk]
      additional_dependencies: [] # list your build deps here

这需要您的构建依赖项,但在这样做的同时,它可以将环境缓存起来,使其非常快。如果您不介意运行速度较慢且不想要求列出构建依赖项

- repo: https://github.com/henryiii/check-sdist
  rev: v1.0.0
  hooks:
    - id: check-sdist-isolated
      args: [--inject-junk]

配置

要配置,您的pyproject.toml文件支持以下选项

[tool.check-sdist]
sdist-only = []
git-only = []
default-ignore = true
recurse-submodules = true
mode = "git"

您可以将此处添加类似于.gitignore样式的行,并且可以关闭默认忽略列表,该列表添加了一些默认的git-only文件。

默认情况下,check-sdist递归地扫描Git子模块的内容,但您可以禁用此行为(例如,为了支持没有此功能的较旧Git版本)。

您还可以选择mode = "all",这将检查您系统上的每个文件。如果您使用此选项,请准备好手动忽略许多内容,例如*.pyc文件。

另请参阅

项目详情


下载文件

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

源分布

check_sdist-1.0.0.tar.gz (14.2 kB 查看散列

上传时间

构建分布

check_sdist-1.0.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 状态页面