summaryrefslogtreecommitdiff
path: root/python-pylint-airflow.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 07:43:34 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 07:43:34 +0000
commit292f642b9c7b0e1efd1ffe7cd693a12d6adb1628 (patch)
tree5c082acc96e3ab73dc7006f2233806cc8cc6db2d /python-pylint-airflow.spec
parent41fc339b12e4449db270213309c17046fbfb4abd (diff)
automatic import of python-pylint-airflow
Diffstat (limited to 'python-pylint-airflow.spec')
-rw-r--r--python-pylint-airflow.spec382
1 files changed, 382 insertions, 0 deletions
diff --git a/python-pylint-airflow.spec b/python-pylint-airflow.spec
new file mode 100644
index 0000000..1a09ebf
--- /dev/null
+++ b/python-pylint-airflow.spec
@@ -0,0 +1,382 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pylint-airflow
+Version: 0.1.0a1
+Release: 1
+Summary: A Pylint plugin to lint Apache Airflow code.
+License: MIT License
+URL: https://github.com/BasPH/pylint-airflow
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ff/55/619e9e6b5710eee8439c725ab18e10ca6da47d1c6b90c7a43770debd1915/pylint-airflow-0.1.0a1.tar.gz
+BuildArch: noarch
+
+Requires: python3-pylint
+
+%description
+##############
+Pylint-Airflow
+##############
+
+.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
+ :alt: Code style: Black
+ :target: https://github.com/ambv/black
+
+.. image:: https://img.shields.io/badge/License-MIT-blue.svg
+ :alt: License: MIT
+ :target: https://github.com/BasPH/airflow-examples/blob/master/LICENSE
+
+.. image:: https://img.shields.io/circleci/project/github/BasPH/pylint-airflow/master.svg
+ :target: https://circleci.com/gh/BasPH/workflows/pylint-airflow/tree/master
+
+.. image:: images/pylint-airflow.png
+ :align: right
+
+Pylint plugin for static code analysis on Airflow code.
+
+*****
+Usage
+*****
+
+Installation:
+
+.. code-block:: bash
+
+ pip install pylint-airflow
+
+Usage:
+
+.. code-block:: bash
+
+ pylint --load-plugins=pylint_airflow [your_file]
+
+This plugin runs on Python 3.6 and higher.
+
+***********
+Error codes
+***********
+
+The Pylint-Airflow codes follow the structure ``{I,C,R,W,E,F}83{0-9}{0-9}``, where:
+
+- The characters show:
+
+ - ``I`` = Info
+ - ``C`` = Convention
+ - ``R`` = Refactor
+ - ``W`` = Warning
+ - ``E`` = Error
+ - ``F`` = Fatal
+
+- ``83`` is the base id (see all here https://github.com/PyCQA/pylint/blob/master/pylint/checkers/__init__.py)
+- ``{0-9}{0-9}`` is any number 00-99
+
+The current codes are:
+
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Code | Symbol | Description |
++=======+===================================+=================================================================================================================================================================+
+| C8300 | different-operator-varname-taskid | For consistency assign the same variable name and task_id to operators. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8301 | match-callable-taskid | For consistency name the callable function '_[task_id]', e.g. PythonOperator(task_id='mytask', python_callable=_mytask). |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8302 | mixed-dependency-directions | For consistency don't mix directions in a single statement, instead split over multiple statements. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8303 | task-no-dependencies | Sometimes a task without any dependency is desired, however often it is the result of a forgotten dependency. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8304 | task-context-argname | Indicate you expect Airflow task context variables in the \*\*kwargs argument by renaming to \*\*context. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8305 | task-context-separate-arg | To avoid unpacking kwargs from the Airflow task context in a function, you can set the needed variables as arguments in the function. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8306 | match-dagid-filename | For consistency match the DAG filename with the dag_id. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| R8300 | unused-xcom | Return values from a python_callable function or execute() method are automatically pushed as XCom. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| W8300 | basehook-top-level | Airflow executes DAG scripts periodically and anything at the top level of a script is executed. Therefore, move BaseHook calls into functions/hooks/operators. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8300 | duplicate-dag-name | DAG name should be unique. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8301 | duplicate-task-name | Task name within a DAG should be unique. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8302 | duplicate-dependency | Task dependencies can be defined only once. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8303 | dag-with-cycles | A DAG is acyclic and cannot contain cycles. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8304 | task-no-dag | A task must know a DAG instance to run. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+*************
+Documentation
+*************
+
+Documentation is available on `Read the Docs <https://pylint-airflow.readthedocs.io>`_.
+
+************
+Contributing
+************
+
+Suggestions for more checks are always welcome, please create an issue on GitHub. Read `CONTRIBUTING.rst <https://github.com/BasPH/pylint-airflow/blob/master/CONTRIBUTING.rst>`_ for more details.
+
+
+
+
+%package -n python3-pylint-airflow
+Summary: A Pylint plugin to lint Apache Airflow code.
+Provides: python-pylint-airflow
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pylint-airflow
+##############
+Pylint-Airflow
+##############
+
+.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
+ :alt: Code style: Black
+ :target: https://github.com/ambv/black
+
+.. image:: https://img.shields.io/badge/License-MIT-blue.svg
+ :alt: License: MIT
+ :target: https://github.com/BasPH/airflow-examples/blob/master/LICENSE
+
+.. image:: https://img.shields.io/circleci/project/github/BasPH/pylint-airflow/master.svg
+ :target: https://circleci.com/gh/BasPH/workflows/pylint-airflow/tree/master
+
+.. image:: images/pylint-airflow.png
+ :align: right
+
+Pylint plugin for static code analysis on Airflow code.
+
+*****
+Usage
+*****
+
+Installation:
+
+.. code-block:: bash
+
+ pip install pylint-airflow
+
+Usage:
+
+.. code-block:: bash
+
+ pylint --load-plugins=pylint_airflow [your_file]
+
+This plugin runs on Python 3.6 and higher.
+
+***********
+Error codes
+***********
+
+The Pylint-Airflow codes follow the structure ``{I,C,R,W,E,F}83{0-9}{0-9}``, where:
+
+- The characters show:
+
+ - ``I`` = Info
+ - ``C`` = Convention
+ - ``R`` = Refactor
+ - ``W`` = Warning
+ - ``E`` = Error
+ - ``F`` = Fatal
+
+- ``83`` is the base id (see all here https://github.com/PyCQA/pylint/blob/master/pylint/checkers/__init__.py)
+- ``{0-9}{0-9}`` is any number 00-99
+
+The current codes are:
+
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Code | Symbol | Description |
++=======+===================================+=================================================================================================================================================================+
+| C8300 | different-operator-varname-taskid | For consistency assign the same variable name and task_id to operators. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8301 | match-callable-taskid | For consistency name the callable function '_[task_id]', e.g. PythonOperator(task_id='mytask', python_callable=_mytask). |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8302 | mixed-dependency-directions | For consistency don't mix directions in a single statement, instead split over multiple statements. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8303 | task-no-dependencies | Sometimes a task without any dependency is desired, however often it is the result of a forgotten dependency. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8304 | task-context-argname | Indicate you expect Airflow task context variables in the \*\*kwargs argument by renaming to \*\*context. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8305 | task-context-separate-arg | To avoid unpacking kwargs from the Airflow task context in a function, you can set the needed variables as arguments in the function. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8306 | match-dagid-filename | For consistency match the DAG filename with the dag_id. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| R8300 | unused-xcom | Return values from a python_callable function or execute() method are automatically pushed as XCom. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| W8300 | basehook-top-level | Airflow executes DAG scripts periodically and anything at the top level of a script is executed. Therefore, move BaseHook calls into functions/hooks/operators. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8300 | duplicate-dag-name | DAG name should be unique. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8301 | duplicate-task-name | Task name within a DAG should be unique. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8302 | duplicate-dependency | Task dependencies can be defined only once. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8303 | dag-with-cycles | A DAG is acyclic and cannot contain cycles. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8304 | task-no-dag | A task must know a DAG instance to run. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+*************
+Documentation
+*************
+
+Documentation is available on `Read the Docs <https://pylint-airflow.readthedocs.io>`_.
+
+************
+Contributing
+************
+
+Suggestions for more checks are always welcome, please create an issue on GitHub. Read `CONTRIBUTING.rst <https://github.com/BasPH/pylint-airflow/blob/master/CONTRIBUTING.rst>`_ for more details.
+
+
+
+
+%package help
+Summary: Development documents and examples for pylint-airflow
+Provides: python3-pylint-airflow-doc
+%description help
+##############
+Pylint-Airflow
+##############
+
+.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
+ :alt: Code style: Black
+ :target: https://github.com/ambv/black
+
+.. image:: https://img.shields.io/badge/License-MIT-blue.svg
+ :alt: License: MIT
+ :target: https://github.com/BasPH/airflow-examples/blob/master/LICENSE
+
+.. image:: https://img.shields.io/circleci/project/github/BasPH/pylint-airflow/master.svg
+ :target: https://circleci.com/gh/BasPH/workflows/pylint-airflow/tree/master
+
+.. image:: images/pylint-airflow.png
+ :align: right
+
+Pylint plugin for static code analysis on Airflow code.
+
+*****
+Usage
+*****
+
+Installation:
+
+.. code-block:: bash
+
+ pip install pylint-airflow
+
+Usage:
+
+.. code-block:: bash
+
+ pylint --load-plugins=pylint_airflow [your_file]
+
+This plugin runs on Python 3.6 and higher.
+
+***********
+Error codes
+***********
+
+The Pylint-Airflow codes follow the structure ``{I,C,R,W,E,F}83{0-9}{0-9}``, where:
+
+- The characters show:
+
+ - ``I`` = Info
+ - ``C`` = Convention
+ - ``R`` = Refactor
+ - ``W`` = Warning
+ - ``E`` = Error
+ - ``F`` = Fatal
+
+- ``83`` is the base id (see all here https://github.com/PyCQA/pylint/blob/master/pylint/checkers/__init__.py)
+- ``{0-9}{0-9}`` is any number 00-99
+
+The current codes are:
+
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Code | Symbol | Description |
++=======+===================================+=================================================================================================================================================================+
+| C8300 | different-operator-varname-taskid | For consistency assign the same variable name and task_id to operators. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8301 | match-callable-taskid | For consistency name the callable function '_[task_id]', e.g. PythonOperator(task_id='mytask', python_callable=_mytask). |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8302 | mixed-dependency-directions | For consistency don't mix directions in a single statement, instead split over multiple statements. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8303 | task-no-dependencies | Sometimes a task without any dependency is desired, however often it is the result of a forgotten dependency. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8304 | task-context-argname | Indicate you expect Airflow task context variables in the \*\*kwargs argument by renaming to \*\*context. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8305 | task-context-separate-arg | To avoid unpacking kwargs from the Airflow task context in a function, you can set the needed variables as arguments in the function. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| C8306 | match-dagid-filename | For consistency match the DAG filename with the dag_id. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| R8300 | unused-xcom | Return values from a python_callable function or execute() method are automatically pushed as XCom. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| W8300 | basehook-top-level | Airflow executes DAG scripts periodically and anything at the top level of a script is executed. Therefore, move BaseHook calls into functions/hooks/operators. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8300 | duplicate-dag-name | DAG name should be unique. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8301 | duplicate-task-name | Task name within a DAG should be unique. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8302 | duplicate-dependency | Task dependencies can be defined only once. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8303 | dag-with-cycles | A DAG is acyclic and cannot contain cycles. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| E8304 | task-no-dag | A task must know a DAG instance to run. |
++-------+-----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+*************
+Documentation
+*************
+
+Documentation is available on `Read the Docs <https://pylint-airflow.readthedocs.io>`_.
+
+************
+Contributing
+************
+
+Suggestions for more checks are always welcome, please create an issue on GitHub. Read `CONTRIBUTING.rst <https://github.com/BasPH/pylint-airflow/blob/master/CONTRIBUTING.rst>`_ for more details.
+
+
+
+
+%prep
+%autosetup -n pylint-airflow-0.1.0a1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pylint-airflow -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.0a1-1
+- Package Spec generated