跳转到主要内容

自动化科学软件审查

项目描述

AutoReviewer

Tests PyPI PyPI - Python Version PyPI - License Documentation Status Codecov status Cookiecutter template from @cthoyt Code style: black Contributor Covenant

科学家经常做同样不好的事情。自动化Python包同行评审期间的反馈。

目标

  1. 给定一个GitHub存储库,自动化查找常见问题,例如
    • 没有 setup.py/setup.cfg/pyproject.toml
    • 没有从README链接到zenodo存档
    • 非标准代码布局(如src/或破坏)
    • 文件包含硬编码的文件路径
    • 没有文档(在README中搜索readthedocs的链接)
    • 包名与GitHub存储库名不匹配
    • 没有可重现的安装说明(即,README是否包含pip
    • 使用conda进行安装
    • 代码风格不一致(例如,没有为black配置)
    • pyroma未通过10/10
    • 缺少LICENSE文件
    • 缺少CITATION.cff文件
  2. 自动化将问题发送到存储库,说明如何做这些事情
    • 为所有问题使用确定的标题以避免重复/使幂等
    • 创建和编辑“史诗”问题以链接其他问题

示例审查

想要合作吗?您对Python包有什么期望?请在评论区告诉我。我想象这是一个模块化的东西,人们可以贡献他们自己的检查。

期望的接口

通过命令行运行

$ autoreviewer https://github.com/rs-costa/sbml2hyb

J. Chem. Inf. Analysis

有一个子模块 autoreviewer.jcheminf,它提供了从《化学信息杂志》抓取论文列表、获取它们的ePub文件、从可用性声明中提取GitHub引用、对每个文件运行自动评审,然后使用 python -m autoreviewer.jcheminf 生成以下摘要的实用工具。

🚀 安装

最新版本可以从 PyPI 使用以下命令安装:

$ pip install autoreviewer

最新代码和数据可以直接从GitHub安装

$ pip install git+https://github.com/cthoyt/autoreviewer.git

您还需要确保已安装 pandoc。在macOS上,最好的方法是使用 brew install pandoc

👐 贡献

贡献,无论是提交问题、创建拉取请求还是进行分支操作,都受到欢迎。有关参与的信息,请参阅 CONTRIBUTING.md

👋 致谢

⚖️ 许可证

本包中的代码受MIT许可证许可。

🍪 Cookiecutter

此包是用 @audreyfeldroycookiecutter 包和 @cthoytcookiecutter-snekpack 模板创建的。

🛠️ 开发者

查看开发者说明

README的最后一部分是为如果您想通过代码贡献来参与。

开发安装

要开发模式安装,请使用以下命令

$ git clone git+https://github.com/cthoyt/autoreviewer.git
$ cd autoreviewer
$ pip install -e .

🥼 测试

在克隆存储库并使用 pip install tox 安装 tox 后,可以重复运行 tests/ 文件夹中的单元测试

$ tox

此外,这些测试还会在每个提交时自动重新运行,在 GitHub Action 中。

📖 构建文档

可以使用以下命令在本地构建文档

$ git clone git+https://github.com/cthoyt/autoreviewer.git
$ cd autoreviewer
$ tox -e docs
$ open docs/build/html/index.html

文档会自动安装包以及 setup.cfg 中指定的 docs 额外内容。可以添加 texext 等类似 sphinx 插件。此外,它们还需要添加到 docs/source/conf.py 中的 extensions 列表。

📦 发布版本

在开发模式下安装包并使用 pip install tox 安装 tox 后,创建新版本的命令包含在 tox.inifinish 环境中。在shell中运行以下命令

$ tox -e finish

此脚本执行以下操作

  1. 使用 Bump2Versionsetup.cfgsrc/autoreviewer/version.pydocs/source/conf.py 中的版本号更改为不带 -dev 后缀
  2. 使用 build 将代码打包成tar归档和wheel
  3. 使用 twine 上传到PyPI。请确保已配置 .pypirc 文件以避免在此步骤中需要手动输入
  4. 推送到GitHub。您需要创建一个发布版本,与提高版本的提交相对应
  5. 将版本提升到下一个补丁。如果您进行了重大更改并希望通过次要版本提升版本,则可以使用 tox -e bumpversion minor

项目详情


下载文件

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

源代码分发

autoreviewer-0.0.5.tar.gz (316.8 kB 查看哈希值)

上传时间 源代码

构建分发

autoreviewer-0.0.5-py3-none-any.whl (481.1 kB 查看哈希值)

上传时间 Python 3

由以下提供支持

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