检查SDist与git的内容
项目描述
check-sdist
您是否曾发送过带有缺失文件的损坏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=
选择用于构建的安装程序,选项有uv
、pip
或uv|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-manifest:一个(目前)针对setuptools特定检查器,可以建议可能的包含/排除文件的方法。
- 科学Python开发指南:本软件包设计的指导方针。
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
check_sdist-1.0.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 92d24b62765e2e6c0878e190c1dca5fb069495c719867a0ec18958d553a58ac9 |
|
MD5 | 9a9b9b2b555a9e468528dfcaf034d390 |
|
BLAKE2b-256 | 436a1a150c6681183fdbe7beb35ff0455578e88fb0d1e96381312927d8c4a0bf |
check_sdist-1.0.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4815043721f22537d6feb528ad211d3bfe7988c38682ca6e8fe4c1eece2ac988 |
|
MD5 | 258fc6a7d3e1950070c3cd651dd9e6af |
|
BLAKE2b-256 | 726aaa1baedf6445cb02229cbb22dcb43ae64e5cce41fee449d6718f638d1b84 |