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
分类器:主题::软件开发::代码生成器
作者: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按以下顺序查找配置:::
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
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='…'
。_ 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
分类器:主题::软件开发::代码生成器