跳转到主要内容

在您的CI服务器上监控Python代码指标

项目描述

Travis-CI badge Coveralls badge PyPI latest version badge Download format Xenon license

Xenon 是一个基于 Radon 的监控工具。它监控您代码的复杂度。理想情况下,每次提交代码时都应运行 Xenon。通过命令行选项,您可以为您代码的 复杂度 设置各种阈值。如果这些要求中的任何一个未得到满足,它将失败(即,将以非零退出码退出)。

安装

使用Pip

$ pip install xenon

或下载源代码并运行安装文件(需要setuptools)

$ python setup.py install

Xenon 已在从 2.73.6 的所有 Python 版本以及 PyPy 上进行测试。

用法

通常您会在两种场景下使用 Xenon:

  1. 作为 git commit 钩子:以确保您的代码不会超过某些复杂度值。

  2. 持续集成 服务器上:作为构建的一部分,以控制您的代码复杂度。请参阅 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(即 CDEF)。

  • 至少有一个模块的排名高于 A

  • 平均复杂性(所有分析块的平均值)排名为 B 或更高。

其他资源

有关Python中的循环复杂度和静态分析的信息,请参阅Radon的文档,Xenon基于该项目。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪一个,请了解有关 安装包 的更多信息。

源分布

xenon-0.9.1.tar.gz (9.2 kB 查看散列值)

上传时间

构建分布

xenon-0.9.1-py2.py3-none-any.whl (8.5 kB 查看散列值)

上传时间 Python 2 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面