跳转到主要内容

审查仓库是否符合Scientific-Python开发指南

项目描述

sp-repo-review提供基于Scientific-Python开发指南scientific-python/cookierepo-review的检查。

此工具可以检查仓库的样式。使用方法如下

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

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

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

所有检查至少以一种方式在Scientific-Python 开发指南中都有提到。你应该首先阅读它 - 如果你没有尝试遵循它们,一些检查可能不会工作。例如,指南指定pytest配置应放在pyproject.toml中。如果你将其放置在其他位置,则所有pytest检查都将被跳过。

这最初是为Scikit-HEP开发的,后来迁移到Scientific Python。

其他使用方式

您还可以使用GitHub Actions

- uses: scientific-python/cookie@<version>

或者pre-commit

- repo: https://github.com/scientific-python/cookie
  rev: <version>
  hooks:
    - id: sp-repo-review

如果您使用additional_dependencies添加更多插件,如validate-pyproject,您还应该包含"repo-review[cli]"以确保包含CLI要求。

检查列表

通用

  • PY001:具有pyproject.toml
  • PY002:具有README.(md|rst)文件
  • PY003:具有LICENSE*文件
  • PY004:具有docs文件夹
  • PY005:具有tests文件夹
  • PY006:具有pre-commit配置
  • PY007:支持简单的任务运行器(nox或tox)

PyProject

  • PP002:具有适当的构建系统表
  • PP003:未将wheel列为构建依赖项
  • PP301:在pyproject中包含pytest
  • PP302:将pytest的最小版本设置为至少6
  • PP303:设置测试路径
  • PP304:在pytest中设置日志级别
  • PP305:指定xfail_strict
  • PP306:指定strict配置
  • PP307:指定strict标记
  • PP308:指定有用的pytest摘要
  • PP309:指定警告过滤器

文档

  • RTD100:使用ReadTheDocs(pyproject配置)
  • RTD101:您必须将RTD版本号设置为2
  • RTD102:您必须设置RTD构建镜像
  • RTD103:您必须设置RTD Python版本

GitHub Actions

  • GH100:具有GitHub Actions配置
  • GH101:具有美好的名称
  • GH102:自动取消重复PRs
  • GH103:至少有一个具有手动触发的工作流
  • GH104:为上传的工件使用唯一的名称
  • GH200:由Dependabot维护
  • GH210:使用Dependabot维护GitHub动作版本
  • GH211:不要将核心动作固定为主版本
  • GH212:需要GHA更新分组

MyPy

  • MY100:使用MyPy(pyproject配置)
  • MY101:MyPy严格模式
  • MY102:MyPy show_error_codes已弃用
  • MY103:MyPy启用警告不可达
  • MY104:MyPy启用ignore-without-code
  • MY105:MyPy启用redundant-expr
  • MY106:MyPy启用truthy-bool

Pre-commit

  • PC100:具有pre-commit-hooks
  • PC110:使用black或ruff-format
  • PC111:使用blacken-docs
  • PC140:使用类型检查器
  • PC160:使用拼写检查器
  • PC170:使用PyGrep hooks(仅当存在rST时需要)
  • PC180:使用Markdown格式化工具
  • PC190:使用Ruff
  • PC191:Ruff启用修复时显示修复
  • PC901:自定义pre-commit CI消息

Ruff

  • RF001:具有Ruff配置
  • RF002:必须设置目标版本
  • RF003:src目录不再需要指定(0.6+)
  • RF101:必须选择Bugbear
  • RF102:必须选择isort
  • RF103:必须选择pyupgrade
  • RF201:避免使用已弃用的配置设置
  • RF202:使用(新)lint配置部分

项目详情


下载文件

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

源分布

sp_repo_review-2024.8.19.tar.gz (153.1 KB 查看散列

上传于 源代码

构建发行版

sp_repo_review-2024.8.19-py3-none-any.whl (20.5 kB 查看哈希值)

上传于 Python 3

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