从TOSCA蓝图中提取度量的模块

tosca-metrics的Python项目详细描述


BuildDocumentationlgtmTotal alertspypi-versionpypi-statusrelease-date

Tosca指标

为TOSCA蓝图和定义提供度量的python模块。在

这个存储库包含Python3.6中当前实现的X度量。尽管如此,还有5个隐式度量可以通过组合实现的度量来派生。 有关详细信息,请参阅documentation。在

如何在本地安装和导入模块

首先,使用以下命令安装必要的依赖项:

pip3 install -r requirements.txt

可以使用以下命令从项目根文件夹本地安装包:

pip3 install .

安装成功后,您可以使用以下命令在python应用程序中导入模块:

importtoscametrics

如何作出贡献

首先,按如下方式克隆存储库:

git clone https://github.com/radon-h2020/radon-tosca-metrics.git

然后,移动到文件夹位置并运行

pip3 install requirements.txt

安装依赖项。在

执行pytest以运行测试套件。在

步骤1:创建一个新分支来处理度量

创建一个专门的分支来执行和测试度量。在

移到项目文件夹并运行以下命令:

  • git checkout master移动到分支master
  • git pull确保使用最新版本进行更新
  • git checkout -b <metric_name>创建并移动到新的工作分支。名称由您决定,但用度量的名称或首字母缩略词来称呼它是有用的

第2步:文档度量

docs/README.md中插入度量的名称并将其链接到文件夹docs/blueprint中的文档。在

将文档文件命名为扩展的度量名称,用大写字母在空格处加下划线。例如,如果度量是“Number of loops”,那么创建文件docs/blueprint/Number_循环.md。在

文件应至少包含以下内容:

  • 一个唯一名称
  • 一个缩略词(3/4个字母),用于标识它并命名实现它的脚本
  • 解释其用途的description
  • input参数
  • output类型
  • 一个蓝图示例,用于解决手头的问题以及该蓝图的度量的预期结果。示例的蓝图必须包含在测试度量的测试用例中,如果需要的话,还必须包括更多的示例。在
  • 关于如何调用实现度量的方法的示例。在

步骤3:创建测试用例

  • 在tests文件夹中创建一个测试用例,并将其命名为tests\<;metric_acronym>;\<;method\-to-utest>;.py。例如,要测试度量“循环数(NLP)”的方法count(),脚本路径的结果将类似于tests/blueprint/test_NLP_count.py。在

<;TODO:插入测试用例示例>

步骤4:实施指标

在文件夹toscametrics/blueprint/中创建一个脚本,并将其命名为<;metric\u acronym>;.py。在

定义使用空实体进行测试的方法。在

运行pytest以确保在步骤3fail中实现的测试用例。在

实现函数的主体。在

再次运行pytest,以确保测试用例在步骤3^{str1}$pass中实现。在

第四步:投入工作

移到项目文件夹并运行以下命令:

  • git add <modified_file>对于每个修改过的文件,git add .添加所有修改过的文件(注意使用此选项添加正确的文件)
  • git status有助于检查哪些文件已被更改/添加/删除。在
  • 准备好后,运行git commit -m "A message describing the work done"
  • 最后,git push origin/<branch_name>并打开一个pull请求,如果您希望将您的更改集成到主分支。在

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

推荐PyPI第三方库


热门话题
使用java在mysql中使用外键插入到表中   java Android按类别筛选列表   java对JGoodies外观的更改   java如何在Drools规则中推断中间值   用于虚拟拆分文本文件的java解决方案   使用XML的java Android UI(Android和XML)   使用ApachePOI库将工作表适配到xlsx文件中的单个页面时遇到的java问题   java类型为javafx。fxml。FXMLLoader不可访问(vscode)   java所有计划的作业都在运行,即使提到了节点id   java将大整数打印到文本文件   java让正则表达式忽略新行,只匹配整个大字符串?   java图形库   CardLayout的java替代品,不包含对所包含组件的引用   个人Android应用程序的java包名称   java 安卓写入文件不会写入任何内容   每次加载页面gest后,java Xpath都会发生变化   java动态地向FlipperView添加文本视图,并使用不同的滚动方式   java如何将新类映射到实体中的现有类?   ffmpeg无法将命令参数传递给外部。Java调用的exe应用程序