pylama——python的代码审计工具

pylama的Python项目详细描述


主页:https://github.com/klen/pylama
作者:kirill klenov
作者电子邮件:horneds@gmail.com
许可证:gnu lgpl
描述:logo pylama
_描述:

python和javascript的代码审计工具。Pylama包装这些工具:

*PycodeStyle(原PEP8)©2012-2013,Florent Xicluna;
*PydocStyle(原Vladimir Keleshev的PEP257)©2014,Amir Rachum;
*Pyflakes(原PEP257)–2005-2013,Kevin Watters;
*McCabe(原McCabe)–Ned Batchelder;
*Pylint(原PEP8)–2013,Logilab(应安装"Pylama_Pylint"模块);
*radon_u2; michele lacchia
*gjslent_2;合拢短绒作者(应安装"Pylama_2;gjslent"模块);
*根除史蒂文myint;
*mypy_2;_2;jukka lehtosalo和贡献者;

_徽章:

…图片:http://img.shields.io/travis/klen/pyrama.svg?style=flat square
:目标:http://travis ci.org/klen/pylama
:alt:build status

。图片:http://img.shields.io/covertalls/klen/pylama.svg?style=flat square
:目标:https://coveralls.io/r/klen/pylama
:alt:coveralls

…图片:http://img.shields.io/pypi/v/pylama.svg?style=flat square
:目标:https://crate.io/packages/pylama
:alt:version

…图片:http://img.shields.io/gratipay/klen.svg?style=flat square
:目标:https://www.gratipay.com/klen/
:alt:捐赠



…_文档:

docs可在https://pylama.readthedocs.org/上获得。带有文档增强和/或修复的拉取请求非常棒,非常受欢迎。



…_内容:

…内容:

…_要求:

要求:
===

-python(2.7、3.4、3.5、3.6、3.7)
-要使用javascript检查器(``gjslent`),您需要用``pip install python gflags``安装``python gflags``.
-如果您在win平台上的测试失败,您将丢失:``curses`.``-http://www.lfd.uci.edu/~gohlke/pythonlibs/
(curses库为基于文本的终端提供独立于终端的屏幕绘制和键盘处理功能)




_安装:

_快速启动:

==

**pylama**易于使用,在检查代码质量时非常有趣。
只需运行"pylama"并从所有pylama插件(pycodestyle、pyflakes等)获取公共输出即可

递归检查当前目录。::

$pylama

递归检查路径。::

$pylama<;path_to_directory_或_file>;


忽略错误::

$pylama-i w,e501

……注意:您可以选择组错误'd'、'e1'等或特殊错误'c0312'


_或"文件"

…_选项:

set pylama(checkers)选项命令行选项[--排序排序][--linters linters][--忽略忽略]
[--跳过][--报告报告][--hook][--并发]
[--选项文件][--强制][--abspath]
[路径[路径…]


python的代码审计工具。

/>--详细,-v详细模式。
--版本显示程序的版本号并退出
--格式{pep8,pycodestyle,pylint,parsable},-f{pep8,pycodestyle,pylint,parsable}
选择错误格式(pycodestyle,pylint,parsable)。
--选择select,-s选择
选择错误和警告。(逗号分隔列表)
--按错误类型对排序结果排序。例如,E,W,D
--短绒短绒,-L短绒
选择短绒。(逗号分隔)。选项有mccabe、
pep257、pydocstyle、pep8、pycodesyle、pyflakes、pylint、iso
rt.
--忽略忽略,-i忽略
忽略错误和警告。(逗号分隔)
--按掩码跳过跳过文件(逗号分隔,例如
*/messages.py)
--报表,-r报表
将报表发送到文件[报表]
--挂钩安装git(mercurial)钩子。
--并发,--异步
启用异步模式。对于检查许多文件很有用。
Pylint不支持。
--options file,-o file
指定配置文件。查找当前
目录中的pylama.ini、
setup.cfg、tox.ini或pytest.ini(默认值:无)。
--force,-f强制代码检查(如果linter不允许)
--abspath,-a在输出中使用绝对路径。



…_模型行:

为此,请使用
pylama*modeline*。


代码中的某些内容
pylama:ignore=w:select=w301




禁用当前文件的代码检查:::

…有些代码中的选项有更高的优先级。_跳过:

skip lines(noqa)
----




…_配置:


**pylama**在当前目录中查找配置文件。


程序在命令行参数的目录中搜索第一个匹配的ini样式配置文件。Pylama按以下顺序查找配置:::

setup.cfg
tox.ini
pytest.ini


--option"/"-o参数可用于指定配置文件。

pylama搜索名称以"pylama"开头的节。

"pylama"节配置诸如"linters"和"skip"之类的全局选项。




[pylama]
format=pylint
skip=*/.tox/*,*/.env/*
linters=pylint,mccabe
ignore=f0401,c0111,e731


set code checkers'options
=--


/>用法:

[pylama:pyflakes]
builtins=

[pylama:pycodestyle]
max_line_length=100

[pylama:pylint]
max_line_length=100
disable=r

有关更多信息,请参阅代码检查程序文档。让我们注意,破折号被下划线替换(例如,pylint的"max line length"变为
"max廑line廑length")。




为特殊文件(文件组)设置选项
节:

select=r

[pylama:*/tests.py]
ignore=c0110

[pylama:*/setup.py]
skip=1



===br/>
pylama有pytesTI支持。在安装过程中,包自动注册为pytest
插件。pylama还支持"pytest_cache"插件。


使用pylama检查文件::



编写一个linter
===


您可以为pylama编写一个自定义扩展。
自定义linter应该是一个python模块。名称应与"pylama"类似。应定义"setup.py"中的"pylama.linter"入口点。:

设置(

入口点={
"Pylama.linter":["lintername=Pylama\u lintername.main:linter"],
}




"linter"应该是"pylama.lint.linter"类的实例。
必须实现两个方法:

"allow"采用路径,如果linter可以检查此文件是否有错误,则返回true。
"run"采用路径和元关键字参数,并返回错误列表。

exa示例:
——


只是一个虚拟的"wow"检查器。


setup.py::

setup(
name="pylama\u wow',
install\u requires=["setuptools"],
entry\u points={
'pylama.linter':['wow=pylama_wow.main:linter'],
}
……



pylama_wow.py::


在路径

def run(self,path,**meta)中返回"wow":
,open(path)为f:
如果在f.read()中返回"wow":
返回[{
lnum:0,
col:0,
文本:"wow已找到。",
类型:"wow"
}




从python代码运行pylama
--------
::


#使用和/或修改以下变量"我的重新定义"选项中定义为键的0个或多个选项。
"若要对任何选项使用默认值,请完全删除该键。
"我的重新定义"选项={
"linters":['pep257'、'pydocstyle'、'pycodestyle'、'pyflakes'…]、
"忽略"":['d203'、'd213'、'd406'、'd407'、'd413'…]、
'选择':['r1705'…]、
'排序':'f、e、w、c、d,…'、
'跳过':'*\uu init\py、*/test/*.py,…'、
'异步':真,
'强制':真

}
pylama应该检查的目录
my_path='…'

errors=check_path(options,rootdir='。)



。_ BagTracker:

Bug Tracker
——


如果您有任何建议、Bug报告或烦恼,请在https://github.com/klen/pylama/issues



_贡献:

贡献
——


github:https://github.com/klen/pylama




_贡献者:

contributors
^^^^^^^^^^^^^


请参见作者。_许可证:

许可证
----


_链接:

…_作者:https://github.com/klen/pylama/blob/develop/authors
…_ BSD许可证:http://www.linfo.org/bsd license.html
…_ mccabe:http://nedbatchelder.com/blog/200803/python-code-complexity-microtool.html
_ pydocstyle:https://github.com/pycqa/pydocstyle/
。_ pycodestyle:https://github.com/pycqa/pycodestyle
。_ pyflakes:https://github.com/pyflakes/pyflakes
。_ pylint:http://pylint.org
。_ pytest:http://pytest.org
。_ GJSLINT:https://developers.google.com/closure/utilities
_克莱恩:http://klen.github.io/
。_根除:https://github.com/myint/根除
…_ mypy:https://github.com/python/mypy

…| logo图像::https://raw.github.com/klen/pylama/develop/docs/_static/logo.png
:宽度:100
。_ radon:https://github.com/rubik/radon



HON模块
分类器:主题::软件开发::质量保证
分类器:开发状态::4-测试版
分类器:环境::控制台
分类器:预期受众::开发人员
分类器:预期受众::系统管理员
分类器:许可证:OSI批准::GNU库或更低的通用公共许可证(LGPL)
分类器:自然语言::英语
分类器:自然语言::俄语
分类器:编程语言::python::2
分类器:编程语言::python::3
分类器:编程语言:python
分类器:主题::软件开发::代码生成器

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

推荐PyPI第三方库


热门话题
java generateReleaseBuildConfig在库中出错   发布Apache CXF服务时出现异常(java配置,无Spring引导)   java Powermockito给了我一个空异常   JAVAutil。登录中。日志管理器。getLogger()返回null   我们可以使用java socketchannel与基于c的TCP服务器进行通信吗   java maven:找不到静态成员函数的符号   java InputStream不会检测到null,并且会一直进行ClientServer通信   尝试从链接列表中删除节点时发生java NullPointerException?   java无法在JTextPane中双击选择“带数字和下划线的文本”   用java打印文件类型   JavaFX与Java Swing在工业中的使用   Java中序列化对象大小与内存中对象大小   java在计时器上运行函数,同时允许鼠标操作   我的arraylist的Java contains()不在循环中工作   Java Akka Http路径匹配器   安卓 pie 9.0手机版:org。json。JSONException:java类型的值CLEARTEXT。无法将lang.String转换为JSONObject