用于计算存储库最佳工程实践指标的python包

repository-scorer的Python项目详细描述


{1}$ lgtmLGTM Alertspypi-versionpypi-statusrelease-dateLicensepython-version

氡库记分仪

radon repository scorer是一个Python包,用于计算存储库最佳工程实践指标。在

本模块提供了以下8个精心设计的软件项目指标:

  • Core contributors:提交总数占贡献总数80%或更多的贡献者的数量。在
  • Continuous integration(CI):存储库有CI服务的证据,由该服务所需的配置文件(例如,a。特拉维斯·伊姆尔福特拉维西)。在
  • Comments ratio:注释和代码行之间的比率。在
  • Commit frequency:每月的平均提交次数。在
  • Issue frequency:每月发生的问题事件的平均数。在
  • License availability:存储库有许可证的证据(即许可证文件)。在
  • 代码行:可执行代码行数。在
  • IaC脚本的比率:基础设施作为代码(IaC)文件与总文件之间的比率。在

除最后一项指标外,所有上述指标均在以下章节中进行了深入描述:

@inproceedings{@article{munaiah2017curating,
  title={Curating GitHub for engineered software projects},
  author={Munaiah, Nuthan and Kroh, Steven and Cabrey, Craig and Nagappan, Meiyappan},
  journal={Empirical Software Engineering},
  volume={22},
  number={6},
  pages={3219--3253},
  year={2017},
  publisher={Springer}
}

注意:该工具旨在用作Python库。 因此,当前版本不提供命令行接口。在

如何安装

来自Python包索引的

pip install repository-scorer


,来自源代码

^{pr2}$

如何使用

fromreposcorer.scorerimportscore_repositoryreport=score_repository(path_to_repo='path/to/cloned/repo',full_name_or_id='repo_owner/repo_name',# e.g., radon-h2020/radon-repository-scorerhost='github')# or gitlab

Output

{
  'has_ci': <bool>,
  'comments_ratio': <float in [0,1]>,
  'commit_frequency': <float>,
  'core_contributors': <int>,
  'iac_ratio': <float in [0,1]>,
  'issue_frequency': <float>,
  'has_license': <bool>,
  'repository_size': <int>
}

如何构建Docker镜像

docker build -t repo-scorer:latest .

如何从Dockerhub中提取

docker pull radonconsortium/repo-scorer:latest

如何使用Docker图像

docker run -e GIT(HU|LA)B_ACCESS_TOKEN=$TOKEN repo-scorer:latest <github|gitlab> <repo full name> <clone to>

示例

docker run -e GITHUB_ACCESS_TOKEN=$GITHUB_ACCESS_TOKEN repo-scorer:latest github UoW-CPC/COLARepo /tmp/

输出:

{"has_ci": false, "percent_comment": 0.0389, "commit_frequency": 4.56, "core_contributors": 3, "iac_ratio": 0.96, "issue_frequency": 0.0, "has_license": false, "repository_size": 2224}

有关发布的日志详细信息,请参见CHANGELOG。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在一定范围内生成随机数   java为什么我所有的形状都卡在我的JPanel的左上角?   流Java数据输出流   使用请求作用域时的java线程安全代码   swing Java延迟而不冻结UI   java google reCaptcha端点有多少HTTPS证书?我在哪里可以下载?   未调用java OnClick方法   java Tomcat在同一会话中旋转JSESSIONID的频率是多少   包含任意对象的java ArrayList   java动态创建多个列表   java是简洁地存储常用方法的最佳方法   java GUI使用StartOnMainThread锁定自身   scala反射错误java   java Google drive API上传文件异常   与单生产者模式相比,java lmax disruptor在多生产者模式下速度太慢