Apache Airflow代码的Pylint插件。
项目描述
Pylint插件,用于对Airflow代码进行静态代码分析。
用法
安装
pip install pylint-airflow
用法
pylint --load-plugins=pylint_airflow [your_file]
此插件在Python 3.6及更高版本上运行。
错误代码
Pylint-Airflow代码遵循结构{I,C,R,W,E,F}83{0-9}{0-9},其中
字符表示
I = 信息
C = 规范
R = 重构
W = 警告
E = 错误
F = 致命
83 是基本ID(见此处 https://github.com/PyCQA/pylint/blob/master/pylint/checkers/__init__.py)
{0-9}{0-9} 是00-99的任何数字
当前代码如下
代码 |
符号 |
描述 |
---|---|---|
C8300 |
different-operator-varname-taskid |
为了一致性,将相同的变量名和task_id分配给操作符。 |
C8301 |
match-callable-taskid |
为了一致性,将可调用函数命名为‘_[task_id]’,例如PythonOperator(task_id='mytask', python_callable=_mytask)。 |
C8302 |
mixed-dependency-directions |
为了一致性,不要在单个语句中混合方向,而是将它们分散到多个语句中。 |
C8303 |
task-no-dependencies |
有时需要没有依赖的任务,然而这通常是忘记依赖的结果。 |
C8304 |
task-context-argname |
通过将名称重命名为**context来指示您期望在**kwargs参数中包含Airflow任务上下文变量。 |
C8305 |
task-context-separate-arg |
为了避免在函数中将Airflow任务上下文中的kwargs展开,您可以将所需的变量作为函数中的参数设置。 |
C8306 |
match-dagid-filename |
为了保持一致性,将DAG文件名与dag_id相匹配。 |
R8300 |
unused-xcom |
从python_callable函数或execute()方法返回的值将自动作为XCom推送。 |
W8300 |
basehook-top-level |
Airflow定期执行DAG脚本,因此脚本顶部的任何内容都会被执行。因此,将BaseHook调用移到函数/钩子/操作符中。 |
E8300 |
duplicate-dag-name |
DAG名称应该是唯一的。 |
E8301 |
duplicate-task-name |
在DAG中,任务名称应该是唯一的。 |
E8302 |
duplicate-dependency |
任务依赖关系只能定义一次。 |
E8303 |
dag-with-cycles |
DAG是循环的,不能包含循环。 |
E8304 |
task-no-dag |
任务必须知道DAG实例才能运行。 |
文档
文档可在Read the Docs上找到。
贡献
欢迎提出更多检查的建议,请创建GitHub上的问题。阅读CONTRIBUTING.rst以获取更多详细信息。