跳转到主要内容

审查存储库以符合Scikit-HEP开发者指南

项目描述

Scikit-HEP repo-review

Actions Status Code style: black

PyPI version PyPI platforms

Scikit-HEP

此工具可以检查存储库的风格。用法如下

pipx run 'scikit-hep-repo-review[cli]' <path to repository>

这将生成一个结果列表 - 绿色勾号表示遵循此规则,红色叉号表示未遵循规则。黄色警告符号表示检查被跳过,因为之前的必需检查失败。某些检查可能会失败,这是正常的 - 目标是提醒您注意所有可能的问题,而不是强制遵守任意检查。最终可能会有一种方式来标记忽略的检查。

例如,GH101期望您的所有操作文件都有一个很好的name:字段。如果您对CI中看到的基于文件的名称感到满意,您应该可以自由地忽略此检查(暂时只从视觉上忽略它,最终可能会添加一种指定忽略检查的方式)。

所有检查至少以某种方式在Scikit-HEP 开发者指南中提及。您应该首先阅读它 - 如果您不尝试遵循它们,一些检查可能无法正常工作。例如,指南指定 pytest 配置应放置在 pyproject.toml 中。如果您将其放置在其他位置,则所有 pytest 检查都将被跳过。

然而,您不必在 Scikit-HEP 中才能发现这很有用 - 至少部分遵循指南的存储库示例包括 pypa/cibuildwheelpypa/buildpybind/pybind11

开发

这个存储库旨在开发有趣 - 它需要并使用 Python 3.10,并使用了 3.9 和 3.10 中的许多新功能。可能不是完全传统,但很有趣。

有几个关键设计非常有用,并使这成为可能。首先,所有路径都被处理为可遍历对象。这允许基于 open_url 的简单可遍历实现提供一个用于 webapp 的 Web 界面。这也允许 zipfile.Path 也能正常工作 - 无需提取。

检查可以请求固定值(如 pytest)作为参数。检查文件可以根据需要添加新的固定值。固定值使用入口点指定,并可以接受任何其他固定值作为参数 - package 固定值代表您正在检查的包的根,是所有其他固定值的基础。检查通过返回检查字典的入口点指定;这也可以接受固定值,允许动态检查列表。

检查文件不依赖于主库,并且可以扩展(类似于 Flake8)。您通过入口点注册新的检查文件 - 因此,通过自定义检查或自定义固定值扩展此功能很容易且简单。无需子类化或对基础库进行任何操作 - 无需依赖项。

检查尽可能简单,以便容易编写。检查是一个具有名称(1-2个字母+数字)和文档字符串(检查消息)的类。它应该定义一个 requires 集合,其中包含它所依赖的任何检查(按名称),并具有一个检查类方法。此方法的文档字符串是失败消息,并支持替换。此方法的方法参数是固定值,其中 package 是内置的一个,提供包目录作为可遍历对象。任何其他固定值都可以通过名称访问。新的固定值提供一个包可遍历对象,可以生成任何内容;固定值是拓扑排序的,预先计算和缓存的。

运行器将拓扑排序检查,未运行的检查将获得 None 结果,并且检查方法将不会运行。前端(由 Rich 驱动的 CLI 或 Pyodide webapp)仅在结果为 False 时渲染 Markdown 格式的检查文档字符串。

链接

此项目启发了Try-PyHF,Scikit-HEP 中一个高能物理包的界面。

此项目启发了abSENSE,abSENSE 的 Web 界面。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

scikit_hep_repo_review-0.6.1.tar.gz (23.8 kB 查看哈希值)

上传时间: 源码

构建版本

scikit_hep_repo_review-0.6.1-py3-none-any.whl (22.1 kB 查看哈希值)

上传时间: Python 3

支持者