在您的CI服务器上监控Python代码指标
项目描述
Xenon 是一个基于 Radon 的监控工具。它监控您代码的复杂度。理想情况下,每次提交代码时都应运行 Xenon。通过命令行选项,您可以为您代码的 复杂度 设置各种阈值。如果这些要求中的任何一个未得到满足,它将失败(即,将以非零退出码退出)。
安装
使用Pip
$ pip install xenon
或下载源代码并运行安装文件(需要setuptools)
$ python setup.py install
Xenon 已在从 2.7 到 3.6 的所有 Python 版本以及 PyPy 上进行测试。
用法
通常您会在两种场景下使用 Xenon:
作为 git commit 钩子:以确保您的代码不会超过某些复杂度值。
在 持续集成 服务器上:作为构建的一部分,以控制您的代码复杂度。请参阅 Xenon 的 .travis.yml 文件 以获取示例用法。
命令行
一切归结于Xenon的命令行使用。要控制哪些文件被分析,您可以使用选项 -e, --exclude 和 -i, --ignore。这两个选项都接受逗号分隔的glob模式列表。通常需要在命令行中引号,以防止shell展开模式(如果只有一个的话)。每个文件名都会与 exclude 模式匹配。每个目录名都会与 ignore 模式匹配。如果任何模式匹配,Xenon甚至不会进入它们。
实际的阈值值通过以下选项定义
-a, --max-average:代码库中 平均 复杂度的阈值。
-m, --max-modules:模块复杂度的阈值。
-b, --max-absolute:块复杂度的 绝对 阈值。
所有这些选项都是包含的。
一个实际示例
$ xenon --max-absolute B --max-modules A --max-average A
或者,更简洁地
$ xenon -b B -m A -a A
使用这些选项,如果满足以下条件之一,Xenon将退出并返回非零退出代码
至少有一个块的排名高于 B(即 C、D、E 或 F)。
至少有一个模块的排名高于 A。
平均复杂性(所有分析块的平均值)排名为 B 或更高。
其他资源
有关Python中的循环复杂度和静态分析的信息,请参阅Radon的文档,Xenon基于该项目。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定要选择哪一个,请了解有关 安装包 的更多信息。
源分布
构建分布
xenon-0.9.1.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | d6745111c3e258b749a4fd424b1b899d99ea183cea232365ee2f88fe7d80c03b |
|
MD5 | 75cb95fe3f3030d3ec9d6cbf80efe17f |
|
BLAKE2b-256 | 6c1c2f0d1c76f75afc06e11757d5983a7abad101d9d92da0570956042e93c215 |
xenon-0.9.1-py2.py3-none-any.whl的哈希值
算法 | 散列摘要 | |
---|---|---|
SHA256 | b2888a5764ebd57a1f9f1624fde86e8303cb30c686e492f19d98867c458f7870 |
|
MD5 | 0105a778ac55ad5c6e8df9fa7a3e31f9 |
|
BLAKE2b-256 | fbb1a6658c1078ce5da112acc3f1476fc187813ba23521595ae3f8165b265032 |