This is an automated email from the ASF dual-hosted git repository. ferruzzi pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push: new 08036e5df5 D401 Support in Providers (simple) (#37258) 08036e5df5 is described below commit 08036e5df5ae3ec9f600219361f86a1a3e8e9d19 Author: Andrey Anshin <andrey.ans...@taragol.is> AuthorDate: Fri Feb 9 02:50:09 2024 +0400 D401 Support in Providers (simple) (#37258) --- airflow/providers/apache/hive/hooks/hive.py | 4 ++-- airflow/providers/apache/spark/hooks/spark_connect.py | 4 ++-- airflow/providers/apache/spark/hooks/spark_sql.py | 4 ++-- airflow/providers/apache/spark/hooks/spark_submit.py | 4 ++-- airflow/providers/atlassian/jira/hooks/jira.py | 4 ++-- airflow/providers/discord/hooks/discord_webhook.py | 2 +- airflow/providers/grpc/hooks/grpc.py | 2 +- airflow/providers/jenkins/hooks/jenkins.py | 4 ++-- airflow/providers/microsoft/mssql/hooks/mssql.py | 2 +- airflow/providers/odbc/hooks/odbc.py | 2 +- airflow/providers/opsgenie/hooks/opsgenie.py | 2 +- airflow/providers/redis/hooks/redis.py | 8 ++++---- airflow/providers/sqlite/hooks/sqlite.py | 2 +- airflow/providers/ssh/hooks/ssh.py | 4 ++-- airflow/providers/tabular/hooks/tabular.py | 2 +- airflow/providers/yandex/hooks/yandex.py | 4 ++-- pyproject.toml | 16 ---------------- 17 files changed, 27 insertions(+), 43 deletions(-) diff --git a/airflow/providers/apache/hive/hooks/hive.py b/airflow/providers/apache/hive/hooks/hive.py index d0dfa10c62..a060556c20 100644 --- a/airflow/providers/apache/hive/hooks/hive.py +++ b/airflow/providers/apache/hive/hooks/hive.py @@ -119,7 +119,7 @@ class HiveCliHook(BaseHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Hive Client Wrapper connection form.""" from flask_appbuilder.fieldwidgets import BS3TextFieldWidget from flask_babel import lazy_gettext from wtforms import BooleanField, StringField @@ -134,7 +134,7 @@ class HiveCliHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for Hive Client Wrapper connection.""" return { "hidden_fields": ["extra"], "relabeling": {}, diff --git a/airflow/providers/apache/spark/hooks/spark_connect.py b/airflow/providers/apache/spark/hooks/spark_connect.py index 179680387c..acdeaae1f4 100644 --- a/airflow/providers/apache/spark/hooks/spark_connect.py +++ b/airflow/providers/apache/spark/hooks/spark_connect.py @@ -39,7 +39,7 @@ class SparkConnectHook(BaseHook, LoggingMixin): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Return custom field behaviour.""" + """Return custom UI field behaviour for Spark Connect connection.""" return { "hidden_fields": [ "schema", @@ -49,7 +49,7 @@ class SparkConnectHook(BaseHook, LoggingMixin): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Spark Connect connection form.""" from flask_babel import lazy_gettext from wtforms import BooleanField diff --git a/airflow/providers/apache/spark/hooks/spark_sql.py b/airflow/providers/apache/spark/hooks/spark_sql.py index 46eec49f30..4d5da04567 100644 --- a/airflow/providers/apache/spark/hooks/spark_sql.py +++ b/airflow/providers/apache/spark/hooks/spark_sql.py @@ -56,7 +56,7 @@ class SparkSqlHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Return custom field behaviour.""" + """Return custom UI field behaviour for Spark SQL connection.""" return { "hidden_fields": ["schema", "login", "password", "extra"], "relabeling": {}, @@ -64,7 +64,7 @@ class SparkSqlHook(BaseHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Spark SQL connection form.""" from flask_appbuilder.fieldwidgets import BS3TextFieldWidget from flask_babel import lazy_gettext from wtforms import StringField diff --git a/airflow/providers/apache/spark/hooks/spark_submit.py b/airflow/providers/apache/spark/hooks/spark_submit.py index b96d992bba..b06e001a07 100644 --- a/airflow/providers/apache/spark/hooks/spark_submit.py +++ b/airflow/providers/apache/spark/hooks/spark_submit.py @@ -97,7 +97,7 @@ class SparkSubmitHook(BaseHook, LoggingMixin): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Return custom field behaviour.""" + """Return custom UI field behaviour for Spark connection.""" return { "hidden_fields": ["schema", "login", "password", "extra"], "relabeling": {}, @@ -105,7 +105,7 @@ class SparkSubmitHook(BaseHook, LoggingMixin): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Spark connection form.""" from flask_appbuilder.fieldwidgets import BS3TextFieldWidget from flask_babel import lazy_gettext from wtforms import StringField diff --git a/airflow/providers/atlassian/jira/hooks/jira.py b/airflow/providers/atlassian/jira/hooks/jira.py index ed706aed95..291195b01e 100644 --- a/airflow/providers/atlassian/jira/hooks/jira.py +++ b/airflow/providers/atlassian/jira/hooks/jira.py @@ -85,7 +85,7 @@ class JiraHook(BaseHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Atlassian Jira Connection form.""" from flask_babel import lazy_gettext from wtforms import BooleanField @@ -95,7 +95,7 @@ class JiraHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for Atlassian Jira Connection.""" return { "hidden_fields": ["schema", "extra"], "relabeling": {}, diff --git a/airflow/providers/discord/hooks/discord_webhook.py b/airflow/providers/discord/hooks/discord_webhook.py index edc02b6df0..01cc4c616c 100644 --- a/airflow/providers/discord/hooks/discord_webhook.py +++ b/airflow/providers/discord/hooks/discord_webhook.py @@ -56,7 +56,7 @@ class DiscordWebhookHook(HttpHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Discord connection form.""" from flask_appbuilder.fieldwidgets import BS3TextFieldWidget from flask_babel import lazy_gettext from wtforms import StringField diff --git a/airflow/providers/grpc/hooks/grpc.py b/airflow/providers/grpc/hooks/grpc.py index a6a3ca1271..eb9a1c1de3 100644 --- a/airflow/providers/grpc/hooks/grpc.py +++ b/airflow/providers/grpc/hooks/grpc.py @@ -53,7 +53,7 @@ class GrpcHook(BaseHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to GRPC connection form.""" from flask_appbuilder.fieldwidgets import BS3TextFieldWidget from flask_babel import lazy_gettext from wtforms import StringField diff --git a/airflow/providers/jenkins/hooks/jenkins.py b/airflow/providers/jenkins/hooks/jenkins.py index afdde319a8..e303b6d0ee 100644 --- a/airflow/providers/jenkins/hooks/jenkins.py +++ b/airflow/providers/jenkins/hooks/jenkins.py @@ -34,7 +34,7 @@ class JenkinsHook(BaseHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Jenkins connection form.""" from flask_babel import lazy_gettext from wtforms import BooleanField @@ -47,7 +47,7 @@ class JenkinsHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for Jenkins connection.""" return { "hidden_fields": ["schema", "extra"], "relabeling": {}, diff --git a/airflow/providers/microsoft/mssql/hooks/mssql.py b/airflow/providers/microsoft/mssql/hooks/mssql.py index 7b21e77c7f..1adbe41943 100644 --- a/airflow/providers/microsoft/mssql/hooks/mssql.py +++ b/airflow/providers/microsoft/mssql/hooks/mssql.py @@ -92,7 +92,7 @@ class MsSqlHook(DbApiHook): return engine.connect(**(connect_kwargs or {})) def get_conn(self) -> pymssql.connect: - """Returns a mssql connection object.""" + """Return ``pymssql`` connection object.""" conn = self.get_connection(self.mssql_conn_id) # type: ignore[attr-defined] conn = pymssql.connect( diff --git a/airflow/providers/odbc/hooks/odbc.py b/airflow/providers/odbc/hooks/odbc.py index fae37c56d2..33fd57eee2 100644 --- a/airflow/providers/odbc/hooks/odbc.py +++ b/airflow/providers/odbc/hooks/odbc.py @@ -197,7 +197,7 @@ class OdbcHook(DbApiHook): return merged_connect_kwargs def get_conn(self) -> Connection: - """Returns a pyodbc connection object.""" + """Return ``pyodbc`` connection object.""" conn = connect(self.odbc_connection_string, **self.connect_kwargs) return conn diff --git a/airflow/providers/opsgenie/hooks/opsgenie.py b/airflow/providers/opsgenie/hooks/opsgenie.py index 8dab4e12e5..fdbbd83f07 100644 --- a/airflow/providers/opsgenie/hooks/opsgenie.py +++ b/airflow/providers/opsgenie/hooks/opsgenie.py @@ -161,7 +161,7 @@ class OpsgenieAlertHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for Opsgenie connection.""" return { "hidden_fields": ["port", "schema", "login", "extra"], "relabeling": {"password": "Opsgenie API Key"}, diff --git a/airflow/providers/redis/hooks/redis.py b/airflow/providers/redis/hooks/redis.py index a481dbe565..6fbe2e24ac 100644 --- a/airflow/providers/redis/hooks/redis.py +++ b/airflow/providers/redis/hooks/redis.py @@ -46,7 +46,7 @@ class RedisHook(BaseHook): def __init__(self, redis_conn_id: str = default_conn_name) -> None: """ - Prepares hook to connect to a Redis database. + Prepare hook to connect to a Redis database. :param conn_id: the name of the connection that has the parameters we need to connect to Redis. @@ -61,7 +61,7 @@ class RedisHook(BaseHook): self.db = None def get_conn(self): - """Returns a Redis connection.""" + """Return a Redis connection.""" conn = self.get_connection(self.redis_conn_id) self.host = conn.host self.port = conn.port @@ -111,7 +111,7 @@ class RedisHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for Redis connection.""" return { "hidden_fields": ["schema", "extra"], "relabeling": {}, @@ -119,7 +119,7 @@ class RedisHook(BaseHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Redis connection form.""" from flask_appbuilder.fieldwidgets import BS3TextFieldWidget from flask_babel import lazy_gettext from wtforms import BooleanField, IntegerField, StringField diff --git a/airflow/providers/sqlite/hooks/sqlite.py b/airflow/providers/sqlite/hooks/sqlite.py index 12316de5bd..5656b1b0e4 100644 --- a/airflow/providers/sqlite/hooks/sqlite.py +++ b/airflow/providers/sqlite/hooks/sqlite.py @@ -36,7 +36,7 @@ class SqliteHook(DbApiHook): self._placeholder: str = "?" def get_conn(self) -> sqlite3.dbapi2.Connection: - """Returns a sqlite connection object.""" + """Return SQLite connection object.""" sqlalchemy_uri = self.get_uri() # The sqlite3 connection does not use the sqlite scheme. # See https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#uri-connections for details. diff --git a/airflow/providers/ssh/hooks/ssh.py b/airflow/providers/ssh/hooks/ssh.py index e93f2245f7..5ed59622a7 100644 --- a/airflow/providers/ssh/hooks/ssh.py +++ b/airflow/providers/ssh/hooks/ssh.py @@ -96,7 +96,7 @@ class SSHHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for SSH connection.""" return { "hidden_fields": ["schema"], "relabeling": { @@ -283,7 +283,7 @@ class SSHHook(BaseHook): return paramiko.ProxyCommand(cmd) if cmd else None def get_conn(self) -> paramiko.SSHClient: - """Opens an SSH connection to the remote host.""" + """Establish an SSH connection to the remote host.""" self.log.debug("Creating SSH client for conn_id: %s", self.ssh_conn_id) client = paramiko.SSHClient() diff --git a/airflow/providers/tabular/hooks/tabular.py b/airflow/providers/tabular/hooks/tabular.py index 3d0835282e..86a9ce333a 100644 --- a/airflow/providers/tabular/hooks/tabular.py +++ b/airflow/providers/tabular/hooks/tabular.py @@ -46,7 +46,7 @@ class TabularHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for Tabular connection.""" return { "hidden_fields": ["schema", "port"], "relabeling": { diff --git a/airflow/providers/yandex/hooks/yandex.py b/airflow/providers/yandex/hooks/yandex.py index d76fbc7182..aa9cf4302e 100644 --- a/airflow/providers/yandex/hooks/yandex.py +++ b/airflow/providers/yandex/hooks/yandex.py @@ -50,7 +50,7 @@ class YandexCloudBaseHook(BaseHook): @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: - """Returns connection widgets to add to connection form.""" + """Return connection widgets to add to Yandex connection form.""" from flask_appbuilder.fieldwidgets import BS3PasswordFieldWidget, BS3TextFieldWidget from flask_babel import lazy_gettext from wtforms import PasswordField, StringField @@ -107,7 +107,7 @@ class YandexCloudBaseHook(BaseHook): @classmethod def get_ui_field_behaviour(cls) -> dict[str, Any]: - """Returns custom field behaviour.""" + """Return custom UI field behaviour for Yandex connection.""" return { "hidden_fields": ["host", "schema", "login", "password", "port", "extra"], "relabeling": {}, diff --git a/pyproject.toml b/pyproject.toml index 0c4769657e..3e56623f6f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1380,11 +1380,6 @@ combine-as-imports = true "airflow/providers/amazon/aws/triggers/redshift_cluster.py" = ["D401"] "airflow/providers/amazon/aws/triggers/redshift_data.py" = ["D401"] "airflow/providers/amazon/aws/triggers/sagemaker.py" = ["D401"] -"airflow/providers/apache/hive/hooks/hive.py" = ["D401"] -"airflow/providers/apache/spark/hooks/spark_connect.py" = ["D401"] -"airflow/providers/apache/spark/hooks/spark_sql.py" = ["D401"] -"airflow/providers/apache/spark/hooks/spark_submit.py" = ["D401"] -"airflow/providers/atlassian/jira/hooks/jira.py" = ["D401"] "airflow/providers/cncf/kubernetes/callbacks.py" = ["D401"] "airflow/providers/cncf/kubernetes/operators/custom_object_launcher.py" = ["D401"] "airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py" = ["D401"] @@ -1394,7 +1389,6 @@ combine-as-imports = true "airflow/providers/common/io/xcom/backend.py" = ["D401"] "airflow/providers/databricks/hooks/databricks.py" = ["D401"] "airflow/providers/databricks/operators/databricks.py" = ["D401"] -"airflow/providers/discord/hooks/discord_webhook.py" = ["D401"] "airflow/providers/fab/auth_manager/decorators/auth.py" = ["D401"] "airflow/providers/fab/auth_manager/fab_auth_manager.py" = ["D401"] "airflow/providers/fab/auth_manager/security_manager/override.py" = ["D401"] @@ -1525,13 +1519,11 @@ combine-as-imports = true "airflow/providers/google/suite/hooks/calendar.py" = ["D401"] "airflow/providers/google/suite/hooks/drive.py" = ["D401"] "airflow/providers/google/suite/hooks/sheets.py" = ["D401"] -"airflow/providers/grpc/hooks/grpc.py" = ["D401"] "airflow/providers/hashicorp/_internal_client/vault_client.py" = ["D401"] "airflow/providers/hashicorp/hooks/vault.py" = ["D401"] "airflow/providers/http/operators/http.py" = ["D401"] "airflow/providers/http/triggers/http.py" = ["D401"] "airflow/providers/imap/hooks/imap.py" = ["D401"] -"airflow/providers/jenkins/hooks/jenkins.py" = ["D401"] "airflow/providers/microsoft/azure/hooks/adx.py" = ["D401"] "airflow/providers/microsoft/azure/hooks/asb.py" = ["D401"] "airflow/providers/microsoft/azure/hooks/base_azure.py" = ["D401"] @@ -1555,20 +1547,17 @@ combine-as-imports = true "airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py" = ["D401"] "airflow/providers/microsoft/azure/triggers/data_factory.py" = ["D401"] "airflow/providers/microsoft/azure/triggers/wasb.py" = ["D401"] -"airflow/providers/microsoft/mssql/hooks/mssql.py" = ["D401"] "airflow/providers/microsoft/psrp/hooks/psrp.py" = ["D401"] "airflow/providers/mongo/hooks/mongo.py" = ["D401"] "airflow/providers/mysql/hooks/mysql.py" = ["D401"] "airflow/providers/mysql/transfers/s3_to_mysql.py" = ["D401"] "airflow/providers/neo4j/hooks/neo4j.py" = ["D401"] -"airflow/providers/odbc/hooks/odbc.py" = ["D401"] "airflow/providers/openfaas/hooks/openfaas.py" = ["D401"] "airflow/providers/openlineage/plugins/adapter.py" = ["D401"] "airflow/providers/openlineage/sqlparser.py" = ["D401"] "airflow/providers/openlineage/utils/sql.py" = ["D401"] "airflow/providers/opensearch/hooks/opensearch.py" = ["D401"] "airflow/providers/opensearch/operators/opensearch.py" = ["D401"] -"airflow/providers/opsgenie/hooks/opsgenie.py" = ["D401"] "airflow/providers/oracle/hooks/oracle.py" = ["D401"] "airflow/providers/pagerduty/hooks/pagerduty.py" = ["D401"] "airflow/providers/pagerduty/hooks/pagerduty_events.py" = ["D401"] @@ -1577,7 +1566,6 @@ combine-as-imports = true "airflow/providers/postgres/hooks/postgres.py" = ["D401"] "airflow/providers/presto/hooks/presto.py" = ["D401"] "airflow/providers/qdrant/hooks/qdrant.py" = ["D401"] -"airflow/providers/redis/hooks/redis.py" = ["D401"] "airflow/providers/salesforce/hooks/salesforce.py" = ["D401"] "airflow/providers/salesforce/operators/bulk.py" = ["D401"] "airflow/providers/salesforce/operators/salesforce_apex_rest.py" = ["D401"] @@ -1599,16 +1587,12 @@ combine-as-imports = true "airflow/providers/snowflake/transfers/copy_into_snowflake.py" = ["D401"] "airflow/providers/snowflake/triggers/snowflake_trigger.py" = ["D401"] "airflow/providers/snowflake/utils/sql_api_generate_jwt.py" = ["D401"] -"airflow/providers/sqlite/hooks/sqlite.py" = ["D401"] -"airflow/providers/ssh/hooks/ssh.py" = ["D401"] "airflow/providers/tableau/hooks/tableau.py" = ["D401"] "airflow/providers/tableau/operators/tableau.py" = ["D401"] -"airflow/providers/tabular/hooks/tabular.py" = ["D401"] "airflow/providers/telegram/hooks/telegram.py" = ["D401"] "airflow/providers/telegram/operators/telegram.py" = ["D401"] "airflow/providers/trino/hooks/trino.py" = ["D401"] "airflow/providers/weaviate/hooks/weaviate.py" = ["D401"] -"airflow/providers/yandex/hooks/yandex.py" = ["D401"] [tool.ruff.lint.flake8-tidy-imports]