You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2020/08/06 22:17:55 UTC
[airflow] branch master updated: Add correct signature to all
operators and sensors (#10205)
This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/master by this push:
new cdec301 Add correct signature to all operators and sensors (#10205)
cdec301 is described below
commit cdec3012542b45d23a05f62d69110944ba542e2a
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Thu Aug 6 23:17:01 2020 +0100
Add correct signature to all operators and sensors (#10205)
* add correct signature to operators in providers package
* add keyword only to operators and sensors outside provider package
* remove unused type ignore
---
airflow/operators/email.py | 4 ++--
airflow/operators/sql.py | 8 ++++----
airflow/providers/celery/sensors/celery_queue.py | 2 +-
airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py | 1 +
.../providers/cncf/kubernetes/operators/spark_kubernetes.py | 2 +-
airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py | 2 +-
airflow/providers/databricks/operators/databricks.py | 4 ++--
airflow/providers/datadog/sensors/datadog.py | 2 +-
airflow/providers/dingding/operators/dingding.py | 2 +-
airflow/providers/discord/operators/discord_webhook.py | 2 +-
airflow/providers/docker/operators/docker.py | 2 +-
airflow/providers/docker/operators/docker_swarm.py | 4 ++--
airflow/providers/exasol/operators/exasol.py | 2 +-
airflow/providers/ftp/sensors/ftp.py | 2 +-
airflow/providers/google/ads/transfers/ads_to_gcs.py | 2 +-
airflow/providers/google/cloud/sensors/bigquery.py | 2 +-
airflow/providers/google/cloud/sensors/bigquery_dts.py | 1 +
airflow/providers/google/cloud/sensors/bigtable.py | 1 +
.../google/cloud/sensors/cloud_storage_transfer_service.py | 2 +-
airflow/providers/google/cloud/sensors/gcs.py | 2 +-
airflow/providers/google/cloud/sensors/pubsub.py | 2 +-
airflow/providers/google/cloud/transfers/adls_to_gcs.py | 2 +-
.../providers/google/cloud/transfers/bigquery_to_bigquery.py | 2 +-
airflow/providers/google/cloud/transfers/bigquery_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/bigquery_to_mysql.py | 2 +-
airflow/providers/google/cloud/transfers/cassandra_to_gcs.py | 2 +-
.../providers/google/cloud/transfers/facebook_ads_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/gcs_to_bigquery.py | 2 +-
airflow/providers/google/cloud/transfers/gcs_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/gcs_to_local.py | 2 +-
airflow/providers/google/cloud/transfers/gcs_to_sftp.py | 2 +-
airflow/providers/google/cloud/transfers/local_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/mssql_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/mysql_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/postgres_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/presto_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/s3_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/sftp_to_gcs.py | 2 +-
airflow/providers/google/cloud/transfers/sheets_to_gcs.py | 7 ++++---
airflow/providers/google/cloud/transfers/sql_to_gcs.py | 2 +-
.../google/marketing_platform/sensors/campaign_manager.py | 2 +-
.../google/marketing_platform/sensors/display_video.py | 5 ++---
.../providers/google/marketing_platform/sensors/search_ads.py | 2 +-
airflow/providers/grpc/operators/grpc.py | 2 +-
airflow/providers/http/operators/http.py | 2 +-
airflow/providers/http/sensors/http.py | 2 +-
airflow/providers/imap/sensors/imap_attachment.py | 2 +-
airflow/providers/jdbc/operators/jdbc.py | 2 +-
airflow/providers/jenkins/operators/jenkins_job_trigger.py | 3 +--
airflow/providers/jira/operators/jira.py | 2 +-
airflow/providers/jira/sensors/jira.py | 4 ++--
airflow/providers/microsoft/azure/operators/adls_list.py | 2 +-
airflow/providers/microsoft/azure/operators/adx.py | 2 +-
airflow/providers/microsoft/azure/operators/azure_batch.py | 2 +-
.../microsoft/azure/operators/azure_container_instances.py | 2 +-
airflow/providers/microsoft/azure/operators/azure_cosmos.py | 2 +-
.../providers/microsoft/azure/operators/wasb_delete_blob.py | 2 +-
airflow/providers/microsoft/azure/sensors/azure_cosmos.py | 2 +-
airflow/providers/microsoft/azure/sensors/wasb.py | 4 ++--
airflow/providers/microsoft/azure/transfers/file_to_wasb.py | 2 +-
.../microsoft/azure/transfers/oracle_to_azure_data_lake.py | 2 +-
airflow/providers/microsoft/mssql/operators/mssql.py | 2 +-
airflow/providers/microsoft/winrm/operators/winrm.py | 2 +-
airflow/providers/mongo/sensors/mongo.py | 2 +-
airflow/providers/mysql/operators/mysql.py | 2 +-
airflow/providers/mysql/transfers/presto_to_mysql.py | 2 +-
airflow/providers/mysql/transfers/s3_to_mysql.py | 2 +-
airflow/providers/mysql/transfers/vertica_to_mysql.py | 1 +
airflow/providers/opsgenie/operators/opsgenie_alert.py | 2 +-
airflow/providers/oracle/operators/oracle.py | 2 +-
airflow/providers/oracle/transfers/oracle_to_oracle.py | 2 +-
airflow/providers/papermill/operators/papermill.py | 2 +-
airflow/providers/postgres/operators/postgres.py | 2 +-
airflow/providers/qubole/operators/qubole.py | 2 +-
airflow/providers/qubole/operators/qubole_check.py | 2 +-
airflow/providers/qubole/sensors/qubole.py | 2 +-
airflow/providers/redis/operators/redis_publish.py | 2 +-
airflow/providers/redis/sensors/redis_key.py | 2 +-
airflow/providers/redis/sensors/redis_pub_sub.py | 2 +-
.../salesforce/operators/tableau_refresh_workbook.py | 2 +-
airflow/providers/salesforce/sensors/tableau_job_status.py | 2 +-
airflow/providers/segment/operators/segment_track_event.py | 2 +-
airflow/providers/sftp/operators/sftp.py | 2 +-
airflow/providers/sftp/sensors/sftp.py | 2 +-
airflow/providers/singularity/operators/singularity.py | 2 +-
airflow/providers/slack/operators/slack.py | 2 +-
airflow/providers/slack/operators/slack_webhook.py | 2 +-
airflow/providers/snowflake/operators/snowflake.py | 2 +-
airflow/providers/snowflake/transfers/s3_to_snowflake.py | 1 +
airflow/providers/snowflake/transfers/snowflake_to_slack.py | 1 +
airflow/providers/sqlite/operators/sqlite.py | 1 +
airflow/providers/ssh/operators/ssh.py | 1 +
airflow/providers/vertica/operators/vertica.py | 2 +-
airflow/providers/yandex/operators/yandexcloud_dataproc.py | 11 ++++++-----
airflow/sensors/base_sensor_operator.py | 2 +-
airflow/sensors/bash.py | 2 +-
airflow/sensors/date_time_sensor.py | 2 +-
airflow/sensors/external_task_sensor.py | 4 ++--
airflow/sensors/filesystem.py | 2 +-
airflow/sensors/python.py | 2 +-
airflow/sensors/sql_sensor.py | 2 +-
airflow/sensors/time_delta_sensor.py | 2 +-
airflow/sensors/time_sensor.py | 2 +-
airflow/sensors/weekday_sensor.py | 2 +-
104 files changed, 122 insertions(+), 114 deletions(-)
diff --git a/airflow/operators/email.py b/airflow/operators/email.py
index 411bb7d..80d1131 100644
--- a/airflow/operators/email.py
+++ b/airflow/operators/email.py
@@ -51,8 +51,8 @@ class EmailOperator(BaseOperator):
ui_color = '#e6faf9'
@apply_defaults
- def __init__(
- self,
+ def __init__( # pylint: disable=invalid-name
+ self, *,
to: Union[List[str], str],
subject: str,
html_content: str,
diff --git a/airflow/operators/sql.py b/airflow/operators/sql.py
index 2b260eb..1c29349 100644
--- a/airflow/operators/sql.py
+++ b/airflow/operators/sql.py
@@ -152,7 +152,7 @@ class SQLValueCheckOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
pass_value: Any,
tolerance: Any = None,
@@ -271,7 +271,7 @@ class SQLIntervalCheckOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
table: str,
metrics_thresholds: Dict[str, int],
date_filter_column: Optional[str] = "ds",
@@ -415,7 +415,7 @@ class SQLThresholdCheckOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
min_threshold: Any,
max_threshold: Any,
@@ -507,7 +507,7 @@ class BranchSQLOperator(BaseOperator, SkipMixin):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
follow_task_ids_if_true: List[str],
follow_task_ids_if_false: List[str],
diff --git a/airflow/providers/celery/sensors/celery_queue.py b/airflow/providers/celery/sensors/celery_queue.py
index 484b7d9..ff0b466 100644
--- a/airflow/providers/celery/sensors/celery_queue.py
+++ b/airflow/providers/celery/sensors/celery_queue.py
@@ -37,7 +37,7 @@ class CeleryQueueSensor(BaseSensorOperator):
"""
@apply_defaults
def __init__(
- self,
+ self, *,
celery_queue: str,
target_task_id: Optional[str] = None,
**kwargs) -> None:
diff --git a/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py b/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
index de95e42..63f3f97 100644
--- a/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
+++ b/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
@@ -152,6 +152,7 @@ class KubernetesPodOperator(BaseOperator): # pylint: disable=too-many-instance-
@apply_defaults
def __init__(self, # pylint: disable=too-many-arguments,too-many-locals
+ *,
namespace: Optional[str] = None,
image: Optional[str] = None,
name: Optional[str] = None,
diff --git a/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py b/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py
index c9acd38..80f980d 100644
--- a/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py
+++ b/airflow/providers/cncf/kubernetes/operators/spark_kubernetes.py
@@ -43,7 +43,7 @@ class SparkKubernetesOperator(BaseOperator):
ui_color = '#f4a460'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
application_file: str,
namespace: Optional[str] = None,
kubernetes_conn_id: str = 'kubernetes_default',
diff --git a/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py b/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py
index 9b12863..934be58 100644
--- a/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py
+++ b/airflow/providers/cncf/kubernetes/sensors/spark_kubernetes.py
@@ -44,7 +44,7 @@ class SparkKubernetesSensor(BaseSensorOperator):
SUCCESS_STATES = ('COMPLETED',)
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
application_name: str,
namespace: Optional[str] = None,
kubernetes_conn_id: str = 'kubernetes_default',
diff --git a/airflow/providers/databricks/operators/databricks.py b/airflow/providers/databricks/operators/databricks.py
index 99e81ef..3bc8f5a 100644
--- a/airflow/providers/databricks/operators/databricks.py
+++ b/airflow/providers/databricks/operators/databricks.py
@@ -245,7 +245,7 @@ class DatabricksSubmitRunOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
def __init__(
- self,
+ self, *,
json=None,
spark_jar_task=None,
notebook_task=None,
@@ -457,7 +457,7 @@ class DatabricksRunNowOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
def __init__(
- self,
+ self, *,
job_id=None,
json=None,
notebook_params=None,
diff --git a/airflow/providers/datadog/sensors/datadog.py b/airflow/providers/datadog/sensors/datadog.py
index c155e8e..29969d9 100644
--- a/airflow/providers/datadog/sensors/datadog.py
+++ b/airflow/providers/datadog/sensors/datadog.py
@@ -40,7 +40,7 @@ class DatadogSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
datadog_conn_id: str = 'datadog_default',
from_seconds_ago: int = 3600,
up_to_seconds_from_now: int = 0,
diff --git a/airflow/providers/dingding/operators/dingding.py b/airflow/providers/dingding/operators/dingding.py
index d71c7fe..0d1ba66 100644
--- a/airflow/providers/dingding/operators/dingding.py
+++ b/airflow/providers/dingding/operators/dingding.py
@@ -46,7 +46,7 @@ class DingdingOperator(BaseOperator):
ui_color = '#4ea4d4' # Dingding icon color
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
dingding_conn_id='dingding_default',
message_type='text',
message=None,
diff --git a/airflow/providers/discord/operators/discord_webhook.py b/airflow/providers/discord/operators/discord_webhook.py
index b51f514..6b97920 100644
--- a/airflow/providers/discord/operators/discord_webhook.py
+++ b/airflow/providers/discord/operators/discord_webhook.py
@@ -57,7 +57,7 @@ class DiscordWebhookOperator(SimpleHttpOperator):
template_fields = ['username', 'message']
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
http_conn_id: Optional[str] = None,
webhook_endpoint: Optional[str] = None,
message: str = "",
diff --git a/airflow/providers/docker/operators/docker.py b/airflow/providers/docker/operators/docker.py
index 3a30da0..d7be1a7 100644
--- a/airflow/providers/docker/operators/docker.py
+++ b/airflow/providers/docker/operators/docker.py
@@ -132,7 +132,7 @@ class DockerOperator(BaseOperator):
# pylint: disable=too-many-arguments,too-many-locals
@apply_defaults
def __init__(
- self,
+ self, *,
image: str,
api_version: Optional[str] = None,
command: Optional[Union[str, List[str]]] = None,
diff --git a/airflow/providers/docker/operators/docker_swarm.py b/airflow/providers/docker/operators/docker_swarm.py
index 398621a..904fee2 100644
--- a/airflow/providers/docker/operators/docker_swarm.py
+++ b/airflow/providers/docker/operators/docker_swarm.py
@@ -99,11 +99,11 @@ class DockerSwarmOperator(DockerOperator):
@apply_defaults
def __init__(
self,
+ *,
image: str,
enable_logging: bool = True,
- *args,
**kwargs) -> None:
- super().__init__(image=image, *args, **kwargs) # type: ignore
+ super().__init__(image=image, **kwargs)
self.enable_logging = enable_logging
self.service = None
diff --git a/airflow/providers/exasol/operators/exasol.py b/airflow/providers/exasol/operators/exasol.py
index dfc7181..e4ac6b6 100644
--- a/airflow/providers/exasol/operators/exasol.py
+++ b/airflow/providers/exasol/operators/exasol.py
@@ -47,7 +47,7 @@ class ExasolOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
exasol_conn_id: str = 'exasol_default',
autocommit: bool = False,
diff --git a/airflow/providers/ftp/sensors/ftp.py b/airflow/providers/ftp/sensors/ftp.py
index cd43c7c..878b7e3 100644
--- a/airflow/providers/ftp/sensors/ftp.py
+++ b/airflow/providers/ftp/sensors/ftp.py
@@ -45,7 +45,7 @@ class FTPSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
path: str,
ftp_conn_id: str = 'ftp_default',
fail_on_transient_errors: bool = True,
diff --git a/airflow/providers/google/ads/transfers/ads_to_gcs.py b/airflow/providers/google/ads/transfers/ads_to_gcs.py
index 4ec25af..413c3b8 100644
--- a/airflow/providers/google/ads/transfers/ads_to_gcs.py
+++ b/airflow/providers/google/ads/transfers/ads_to_gcs.py
@@ -64,7 +64,7 @@ class GoogleAdsToGcsOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
client_ids: List[str],
query: str,
attributes: List[str],
diff --git a/airflow/providers/google/cloud/sensors/bigquery.py b/airflow/providers/google/cloud/sensors/bigquery.py
index 25ea5f0..463305b 100644
--- a/airflow/providers/google/cloud/sensors/bigquery.py
+++ b/airflow/providers/google/cloud/sensors/bigquery.py
@@ -50,7 +50,7 @@ class BigQueryTableExistenceSensor(BaseSensorOperator):
ui_color = '#f0eee4'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
project_id: str,
dataset_id: str,
table_id: str,
diff --git a/airflow/providers/google/cloud/sensors/bigquery_dts.py b/airflow/providers/google/cloud/sensors/bigquery_dts.py
index 086eb19..018d037 100644
--- a/airflow/providers/google/cloud/sensors/bigquery_dts.py
+++ b/airflow/providers/google/cloud/sensors/bigquery_dts.py
@@ -69,6 +69,7 @@ class BigQueryDataTransferServiceTransferRunSensor(BaseSensorOperator):
@apply_defaults
def __init__(
self,
+ *,
run_id: str,
transfer_config_id: str,
expected_statuses: Union[Set[str], str] = 'SUCCEEDED',
diff --git a/airflow/providers/google/cloud/sensors/bigtable.py b/airflow/providers/google/cloud/sensors/bigtable.py
index bd0f1db..e3f3263 100644
--- a/airflow/providers/google/cloud/sensors/bigtable.py
+++ b/airflow/providers/google/cloud/sensors/bigtable.py
@@ -55,6 +55,7 @@ class BigtableTableReplicationCompletedSensor(BaseSensorOperator, BigtableValida
@apply_defaults
def __init__(
self,
+ *,
instance_id: str,
table_id: str,
project_id: Optional[str] = None,
diff --git a/airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py b/airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py
index 04111b1..a933e27 100644
--- a/airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py
+++ b/airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py
@@ -55,7 +55,7 @@ class CloudDataTransferServiceJobStatusSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
job_name: str,
expected_statuses: Union[Set[str], str],
project_id: Optional[str] = None,
diff --git a/airflow/providers/google/cloud/sensors/gcs.py b/airflow/providers/google/cloud/sensors/gcs.py
index 73aec47..dfe41a0 100644
--- a/airflow/providers/google/cloud/sensors/gcs.py
+++ b/airflow/providers/google/cloud/sensors/gcs.py
@@ -50,7 +50,7 @@ class GCSObjectExistenceSensor(BaseSensorOperator):
ui_color = '#f0eee4'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
bucket: str,
object: str, # pylint: disable=redefined-builtin
google_cloud_conn_id: str = 'google_cloud_default',
diff --git a/airflow/providers/google/cloud/sensors/pubsub.py b/airflow/providers/google/cloud/sensors/pubsub.py
index 45c077f..f1c6af8 100644
--- a/airflow/providers/google/cloud/sensors/pubsub.py
+++ b/airflow/providers/google/cloud/sensors/pubsub.py
@@ -93,7 +93,7 @@ class PubSubPullSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
project_id: str,
subscription: str,
max_messages: int = 5,
diff --git a/airflow/providers/google/cloud/transfers/adls_to_gcs.py b/airflow/providers/google/cloud/transfers/adls_to_gcs.py
index 8afe9d9..a670537 100644
--- a/airflow/providers/google/cloud/transfers/adls_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/adls_to_gcs.py
@@ -98,7 +98,7 @@ class ADLSToGCSOperator(AzureDataLakeStorageListOperator):
ui_color = '#f0eee4'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
src_adls: str,
dest_gcs: str,
azure_data_lake_conn_id: str,
diff --git a/airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py b/airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py
index a26ac29..a9b7e716 100644
--- a/airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py
+++ b/airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py
@@ -75,7 +75,7 @@ class BigQueryToBigQueryOperator(BaseOperator):
ui_color = '#e6f0e4'
@apply_defaults
- def __init__(self, # pylint: disable=too-many-arguments
+ def __init__(self, *, # pylint: disable=too-many-arguments
source_project_dataset_tables: Union[List[str], str],
destination_project_dataset_table: str,
write_disposition: str = 'WRITE_EMPTY',
diff --git a/airflow/providers/google/cloud/transfers/bigquery_to_gcs.py b/airflow/providers/google/cloud/transfers/bigquery_to_gcs.py
index 6b40088..76e6753 100644
--- a/airflow/providers/google/cloud/transfers/bigquery_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/bigquery_to_gcs.py
@@ -73,7 +73,7 @@ class BigQueryToGCSOperator(BaseOperator):
ui_color = '#e4e6f0'
@apply_defaults
- def __init__(self, # pylint: disable=too-many-arguments
+ def __init__(self, *, # pylint: disable=too-many-arguments
source_project_dataset_table: str,
destination_cloud_storage_uris: List[str],
compression: str = 'NONE',
diff --git a/airflow/providers/google/cloud/transfers/bigquery_to_mysql.py b/airflow/providers/google/cloud/transfers/bigquery_to_mysql.py
index c8e19bb..0bd7302 100644
--- a/airflow/providers/google/cloud/transfers/bigquery_to_mysql.py
+++ b/airflow/providers/google/cloud/transfers/bigquery_to_mysql.py
@@ -78,7 +78,7 @@ class BigQueryToMySqlOperator(BaseOperator):
template_fields = ('dataset_id', 'table_id', 'mysql_table')
@apply_defaults
- def __init__(self, # pylint: disable=too-many-arguments
+ def __init__(self, *, # pylint: disable=too-many-arguments
dataset_table: str,
mysql_table: str,
selected_fields: Optional[str] = None,
diff --git a/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py b/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py
index 96ea6e4..dfc1b25 100644
--- a/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py
@@ -82,7 +82,7 @@ class CassandraToGCSOperator(BaseOperator):
ui_color = '#a0e08c'
@apply_defaults
- def __init__(self, # pylint: disable=too-many-arguments
+ def __init__(self, *, # pylint: disable=too-many-arguments
cql: str,
bucket: str,
filename: str,
diff --git a/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py b/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py
index 31abfbc..fe7083f 100644
--- a/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py
@@ -72,7 +72,7 @@ class FacebookAdsReportToGcsOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
bucket_name: str,
object_name: str,
fields: List[str],
diff --git a/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py b/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py
index 58e69b1..c44103d 100644
--- a/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py
+++ b/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py
@@ -157,7 +157,7 @@ class GCSToBigQueryOperator(BaseOperator):
# pylint: disable=too-many-locals,too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
bucket,
source_objects,
destination_project_dataset_table,
diff --git a/airflow/providers/google/cloud/transfers/gcs_to_gcs.py b/airflow/providers/google/cloud/transfers/gcs_to_gcs.py
index 74bb0e6..d1afd19 100644
--- a/airflow/providers/google/cloud/transfers/gcs_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/gcs_to_gcs.py
@@ -170,7 +170,7 @@ class GCSToGCSOperator(BaseOperator):
ui_color = '#f0eee4'
@apply_defaults
- def __init__(self, # pylint: disable=too-many-arguments
+ def __init__(self, *, # pylint: disable=too-many-arguments
source_bucket,
source_object=None,
source_objects=None,
diff --git a/airflow/providers/google/cloud/transfers/gcs_to_local.py b/airflow/providers/google/cloud/transfers/gcs_to_local.py
index 36a57b8..6fab34b 100644
--- a/airflow/providers/google/cloud/transfers/gcs_to_local.py
+++ b/airflow/providers/google/cloud/transfers/gcs_to_local.py
@@ -67,7 +67,7 @@ class GCSToLocalFilesystemOperator(BaseOperator):
ui_color = '#f0eee4'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
bucket: str,
object_name: Optional[str] = None,
filename: Optional[str] = None,
diff --git a/airflow/providers/google/cloud/transfers/gcs_to_sftp.py b/airflow/providers/google/cloud/transfers/gcs_to_sftp.py
index ffbee76..99d21cb 100644
--- a/airflow/providers/google/cloud/transfers/gcs_to_sftp.py
+++ b/airflow/providers/google/cloud/transfers/gcs_to_sftp.py
@@ -73,7 +73,7 @@ class GCSToSFTPOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
def __init__(
- self,
+ self, *,
source_bucket: str,
source_object: str,
destination_path: str,
diff --git a/airflow/providers/google/cloud/transfers/local_to_gcs.py b/airflow/providers/google/cloud/transfers/local_to_gcs.py
index bbbfa63..bbf8de2 100644
--- a/airflow/providers/google/cloud/transfers/local_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/local_to_gcs.py
@@ -60,7 +60,7 @@ class LocalFilesystemToGCSOperator(BaseOperator):
template_fields = ('src', 'dst', 'bucket')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
src,
dst,
bucket,
diff --git a/airflow/providers/google/cloud/transfers/mssql_to_gcs.py b/airflow/providers/google/cloud/transfers/mssql_to_gcs.py
index 14317c0..face766 100644
--- a/airflow/providers/google/cloud/transfers/mssql_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/mssql_to_gcs.py
@@ -58,7 +58,7 @@ class MSSQLToGCSOperator(BaseSQLToGCSOperator):
}
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
mssql_conn_id='mssql_default',
**kwargs):
super().__init__(**kwargs)
diff --git a/airflow/providers/google/cloud/transfers/mysql_to_gcs.py b/airflow/providers/google/cloud/transfers/mysql_to_gcs.py
index 8bc5cb9..5d98a2d 100644
--- a/airflow/providers/google/cloud/transfers/mysql_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/mysql_to_gcs.py
@@ -62,7 +62,7 @@ class MySQLToGCSOperator(BaseSQLToGCSOperator):
}
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
mysql_conn_id='mysql_default',
ensure_utc=False,
**kwargs):
diff --git a/airflow/providers/google/cloud/transfers/postgres_to_gcs.py b/airflow/providers/google/cloud/transfers/postgres_to_gcs.py
index 98012a4..816ad27 100644
--- a/airflow/providers/google/cloud/transfers/postgres_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/postgres_to_gcs.py
@@ -58,7 +58,7 @@ class PostgresToGCSOperator(BaseSQLToGCSOperator):
}
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
postgres_conn_id='postgres_default',
**kwargs):
super().__init__(**kwargs)
diff --git a/airflow/providers/google/cloud/transfers/presto_to_gcs.py b/airflow/providers/google/cloud/transfers/presto_to_gcs.py
index 047641f..f94024f 100644
--- a/airflow/providers/google/cloud/transfers/presto_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/presto_to_gcs.py
@@ -180,7 +180,7 @@ class PrestoToGCSOperator(BaseSQLToGCSOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
presto_conn_id: str = "presto_default",
**kwargs
):
diff --git a/airflow/providers/google/cloud/transfers/s3_to_gcs.py b/airflow/providers/google/cloud/transfers/s3_to_gcs.py
index 7502faa..c1390dc 100644
--- a/airflow/providers/google/cloud/transfers/s3_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/s3_to_gcs.py
@@ -93,7 +93,7 @@ class S3ToGCSOperator(S3ListOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
bucket,
prefix='',
delimiter='',
diff --git a/airflow/providers/google/cloud/transfers/sftp_to_gcs.py b/airflow/providers/google/cloud/transfers/sftp_to_gcs.py
index 979f48e..cb9764b 100644
--- a/airflow/providers/google/cloud/transfers/sftp_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/sftp_to_gcs.py
@@ -74,7 +74,7 @@ class SFTPToGCSOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
source_path: str,
destination_bucket: str,
destination_path: Optional[str] = None,
diff --git a/airflow/providers/google/cloud/transfers/sheets_to_gcs.py b/airflow/providers/google/cloud/transfers/sheets_to_gcs.py
index 7104f58..c2bbe25 100644
--- a/airflow/providers/google/cloud/transfers/sheets_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/sheets_to_gcs.py
@@ -22,6 +22,7 @@ from typing import Any, List, Optional
from airflow.models import BaseOperator
from airflow.providers.google.cloud.hooks.gcs import GCSHook
from airflow.providers.google.suite.hooks.sheets import GSheetsHook
+from airflow.utils.decorators import apply_defaults
class GoogleSheetsToGCSOperator(BaseOperator):
@@ -51,18 +52,18 @@ class GoogleSheetsToGCSOperator(BaseOperator):
template_fields = ["spreadsheet_id", "destination_bucket", "destination_path", "sheet_filter"]
+ @apply_defaults
def __init__(
- self,
+ self, *,
spreadsheet_id: str,
destination_bucket: str,
sheet_filter: Optional[List[str]] = None,
destination_path: Optional[str] = None,
gcp_conn_id: str = "google_cloud_default",
delegate_to: Optional[str] = None,
- *args,
**kwargs,
) -> None:
- super().__init__(*args, **kwargs)
+ super().__init__(**kwargs)
self.gcp_conn_id = gcp_conn_id
self.spreadsheet_id = spreadsheet_id
self.sheet_filter = sheet_filter
diff --git a/airflow/providers/google/cloud/transfers/sql_to_gcs.py b/airflow/providers/google/cloud/transfers/sql_to_gcs.py
index 3a50c6e..1473c73 100644
--- a/airflow/providers/google/cloud/transfers/sql_to_gcs.py
+++ b/airflow/providers/google/cloud/transfers/sql_to_gcs.py
@@ -79,7 +79,7 @@ class BaseSQLToGCSOperator(BaseOperator):
ui_color = '#a0e08c'
@apply_defaults
- def __init__(self, # pylint: disable=too-many-arguments
+ def __init__(self, *, # pylint: disable=too-many-arguments
sql,
bucket,
filename,
diff --git a/airflow/providers/google/marketing_platform/sensors/campaign_manager.py b/airflow/providers/google/marketing_platform/sensors/campaign_manager.py
index 007eb8c..cfdb039 100644
--- a/airflow/providers/google/marketing_platform/sensors/campaign_manager.py
+++ b/airflow/providers/google/marketing_platform/sensors/campaign_manager.py
@@ -68,7 +68,7 @@ class GoogleCampaignManagerReportSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
profile_id: str,
report_id: str,
file_id: str,
diff --git a/airflow/providers/google/marketing_platform/sensors/display_video.py b/airflow/providers/google/marketing_platform/sensors/display_video.py
index 7306c69..0c28617 100644
--- a/airflow/providers/google/marketing_platform/sensors/display_video.py
+++ b/airflow/providers/google/marketing_platform/sensors/display_video.py
@@ -47,15 +47,14 @@ class GoogleDisplayVideo360ReportSensor(BaseSensorOperator):
template_fields = ("report_id",)
def __init__(
- self,
+ self, *,
report_id: str,
api_version: str = "v1",
gcp_conn_id: str = "google_cloud_default",
delegate_to: Optional[str] = None,
- *args,
**kwargs
):
- super().__init__(*args, **kwargs)
+ super().__init__(**kwargs)
self.report_id = report_id
self.api_version = api_version
diff --git a/airflow/providers/google/marketing_platform/sensors/search_ads.py b/airflow/providers/google/marketing_platform/sensors/search_ads.py
index e96196e..49391e1 100644
--- a/airflow/providers/google/marketing_platform/sensors/search_ads.py
+++ b/airflow/providers/google/marketing_platform/sensors/search_ads.py
@@ -52,7 +52,7 @@ class GoogleSearchAdsReportSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
report_id: str,
api_version: str = "v2",
gcp_conn_id: str = "google_cloud_default",
diff --git a/airflow/providers/grpc/operators/grpc.py b/airflow/providers/grpc/operators/grpc.py
index 5322e33..10ecd49 100644
--- a/airflow/providers/grpc/operators/grpc.py
+++ b/airflow/providers/grpc/operators/grpc.py
@@ -53,7 +53,7 @@ class GrpcOperator(BaseOperator):
template_fields = ('stub_class', 'call_func', 'data')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
stub_class: Callable,
call_func: str,
grpc_conn_id: str = "grpc_default",
diff --git a/airflow/providers/http/operators/http.py b/airflow/providers/http/operators/http.py
index 909fb8c..7505ea2 100644
--- a/airflow/providers/http/operators/http.py
+++ b/airflow/providers/http/operators/http.py
@@ -64,7 +64,7 @@ class SimpleHttpOperator(BaseOperator):
ui_color = '#f4a460'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
endpoint: Optional[str] = None,
method: str = 'POST',
data: Any = None,
diff --git a/airflow/providers/http/sensors/http.py b/airflow/providers/http/sensors/http.py
index 22c97b5..e730b56 100644
--- a/airflow/providers/http/sensors/http.py
+++ b/airflow/providers/http/sensors/http.py
@@ -70,7 +70,7 @@ class HttpSensor(BaseSensorOperator):
template_fields = ('endpoint', 'request_params')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
endpoint: str,
http_conn_id: str = 'http_default',
method: str = 'GET',
diff --git a/airflow/providers/imap/sensors/imap_attachment.py b/airflow/providers/imap/sensors/imap_attachment.py
index f62bbc4..4468df3 100644
--- a/airflow/providers/imap/sensors/imap_attachment.py
+++ b/airflow/providers/imap/sensors/imap_attachment.py
@@ -44,7 +44,7 @@ class ImapAttachmentSensor(BaseSensorOperator):
template_fields = ('attachment_name', 'mail_filter')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
attachment_name,
check_regex=False,
mail_folder='INBOX',
diff --git a/airflow/providers/jdbc/operators/jdbc.py b/airflow/providers/jdbc/operators/jdbc.py
index 881dad3..1590d90 100644
--- a/airflow/providers/jdbc/operators/jdbc.py
+++ b/airflow/providers/jdbc/operators/jdbc.py
@@ -46,7 +46,7 @@ class JdbcOperator(BaseOperator):
ui_color = '#ededed'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
sql: str,
jdbc_conn_id: str = 'jdbc_default',
autocommit: bool = False,
diff --git a/airflow/providers/jenkins/operators/jenkins_job_trigger.py b/airflow/providers/jenkins/operators/jenkins_job_trigger.py
index 77859bf..471abd4 100644
--- a/airflow/providers/jenkins/operators/jenkins_job_trigger.py
+++ b/airflow/providers/jenkins/operators/jenkins_job_trigger.py
@@ -100,13 +100,12 @@ class JenkinsJobTriggerOperator(BaseOperator):
ui_color = '#f9ec86'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
jenkins_connection_id: str,
job_name: str,
parameters: ParamType = "",
sleep_time: int = 10,
max_try_before_job_appears: int = 10,
- *args,
**kwargs):
super().__init__(**kwargs)
self.job_name = job_name
diff --git a/airflow/providers/jira/operators/jira.py b/airflow/providers/jira/operators/jira.py
index 2925014..0ba7f75 100644
--- a/airflow/providers/jira/operators/jira.py
+++ b/airflow/providers/jira/operators/jira.py
@@ -45,7 +45,7 @@ class JiraOperator(BaseOperator):
template_fields = ("jira_method_args",)
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
jira_method: str,
jira_conn_id: str = 'jira_default',
jira_method_args: Optional[dict] = None,
diff --git a/airflow/providers/jira/sensors/jira.py b/airflow/providers/jira/sensors/jira.py
index 8ae4979..b3d8ca2 100644
--- a/airflow/providers/jira/sensors/jira.py
+++ b/airflow/providers/jira/sensors/jira.py
@@ -39,7 +39,7 @@ class JiraSensor(BaseSensorOperator):
"""
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
method_name: str,
jira_conn_id: str = 'jira_default',
method_params: Optional[dict] = None,
@@ -81,7 +81,7 @@ class JiraTicketSensor(JiraSensor):
template_fields = ("ticket_id",)
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
jira_conn_id: str = 'jira_default',
ticket_id: Optional[str] = None,
field: Optional[str] = None,
diff --git a/airflow/providers/microsoft/azure/operators/adls_list.py b/airflow/providers/microsoft/azure/operators/adls_list.py
index fa32ec5..576a2d8 100644
--- a/airflow/providers/microsoft/azure/operators/adls_list.py
+++ b/airflow/providers/microsoft/azure/operators/adls_list.py
@@ -50,7 +50,7 @@ class AzureDataLakeStorageListOperator(BaseOperator):
ui_color = '#901dd2'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
path: str,
azure_data_lake_conn_id: str = 'azure_data_lake_default',
**kwargs) -> None:
diff --git a/airflow/providers/microsoft/azure/operators/adx.py b/airflow/providers/microsoft/azure/operators/adx.py
index ee6f557..eb4c8e9 100644
--- a/airflow/providers/microsoft/azure/operators/adx.py
+++ b/airflow/providers/microsoft/azure/operators/adx.py
@@ -48,7 +48,7 @@ class AzureDataExplorerQueryOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
query: str,
database: str,
options: Optional[Dict] = None,
diff --git a/airflow/providers/microsoft/azure/operators/azure_batch.py b/airflow/providers/microsoft/azure/operators/azure_batch.py
index 7aefe07..6cf080f 100644
--- a/airflow/providers/microsoft/azure/operators/azure_batch.py
+++ b/airflow/providers/microsoft/azure/operators/azure_batch.py
@@ -148,7 +148,7 @@ class AzureBatchOperator(BaseOperator):
ui_color = '#f0f0e4'
@apply_defaults
- def __init__(self, # pylint: disable=too-many-arguments,too-many-locals
+ def __init__(self, *, # pylint: disable=too-many-arguments,too-many-locals
batch_pool_id: str,
batch_pool_vm_size: str,
batch_job_id: str,
diff --git a/airflow/providers/microsoft/azure/operators/azure_container_instances.py b/airflow/providers/microsoft/azure/operators/azure_container_instances.py
index 0c3c217..9f4b407 100644
--- a/airflow/providers/microsoft/azure/operators/azure_container_instances.py
+++ b/airflow/providers/microsoft/azure/operators/azure_container_instances.py
@@ -122,7 +122,7 @@ class AzureContainerInstancesOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
ci_conn_id: str,
registry_conn_id: Optional[str],
resource_group: str,
diff --git a/airflow/providers/microsoft/azure/operators/azure_cosmos.py b/airflow/providers/microsoft/azure/operators/azure_cosmos.py
index 98fa696..a206f25 100644
--- a/airflow/providers/microsoft/azure/operators/azure_cosmos.py
+++ b/airflow/providers/microsoft/azure/operators/azure_cosmos.py
@@ -40,7 +40,7 @@ class AzureCosmosInsertDocumentOperator(BaseOperator):
ui_color = '#e4f0e8'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
database_name: str,
collection_name: str,
document: dict,
diff --git a/airflow/providers/microsoft/azure/operators/wasb_delete_blob.py b/airflow/providers/microsoft/azure/operators/wasb_delete_blob.py
index c17d18a..7779a60 100644
--- a/airflow/providers/microsoft/azure/operators/wasb_delete_blob.py
+++ b/airflow/providers/microsoft/azure/operators/wasb_delete_blob.py
@@ -45,7 +45,7 @@ class WasbDeleteBlobOperator(BaseOperator):
template_fields = ('container_name', 'blob_name')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
container_name: str,
blob_name: str,
wasb_conn_id: str = 'wasb_default',
diff --git a/airflow/providers/microsoft/azure/sensors/azure_cosmos.py b/airflow/providers/microsoft/azure/sensors/azure_cosmos.py
index 6bf2c96..7235b94 100644
--- a/airflow/providers/microsoft/azure/sensors/azure_cosmos.py
+++ b/airflow/providers/microsoft/azure/sensors/azure_cosmos.py
@@ -46,7 +46,7 @@ class AzureCosmosDocumentSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
database_name: str,
collection_name: str,
document_id: str,
diff --git a/airflow/providers/microsoft/azure/sensors/wasb.py b/airflow/providers/microsoft/azure/sensors/wasb.py
index 92ff7fc..033b89f 100644
--- a/airflow/providers/microsoft/azure/sensors/wasb.py
+++ b/airflow/providers/microsoft/azure/sensors/wasb.py
@@ -41,7 +41,7 @@ class WasbBlobSensor(BaseSensorOperator):
template_fields = ('container_name', 'blob_name')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
container_name: str,
blob_name: str,
wasb_conn_id: str = 'wasb_default',
@@ -82,7 +82,7 @@ class WasbPrefixSensor(BaseSensorOperator):
template_fields = ('container_name', 'prefix')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
container_name: str,
prefix: str,
wasb_conn_id: str = 'wasb_default',
diff --git a/airflow/providers/microsoft/azure/transfers/file_to_wasb.py b/airflow/providers/microsoft/azure/transfers/file_to_wasb.py
index 610b9f5..ac1b415 100644
--- a/airflow/providers/microsoft/azure/transfers/file_to_wasb.py
+++ b/airflow/providers/microsoft/azure/transfers/file_to_wasb.py
@@ -42,7 +42,7 @@ class FileToWasbOperator(BaseOperator):
template_fields = ('file_path', 'container_name', 'blob_name')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
file_path: str,
container_name: str,
blob_name: str,
diff --git a/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py b/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py
index a506e42..a83c1ae 100644
--- a/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py
+++ b/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py
@@ -62,7 +62,7 @@ class OracleToAzureDataLakeOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
def __init__(
- self,
+ self, *,
filename: str,
azure_data_lake_conn_id: str,
azure_data_lake_path: str,
diff --git a/airflow/providers/microsoft/mssql/operators/mssql.py b/airflow/providers/microsoft/mssql/operators/mssql.py
index 9a9fa15..6b8f4d9 100644
--- a/airflow/providers/microsoft/mssql/operators/mssql.py
+++ b/airflow/providers/microsoft/mssql/operators/mssql.py
@@ -53,7 +53,7 @@ class MsSqlOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
mssql_conn_id: str = 'mssql_default',
parameters: Optional[Union[Mapping, Iterable]] = None,
diff --git a/airflow/providers/microsoft/winrm/operators/winrm.py b/airflow/providers/microsoft/winrm/operators/winrm.py
index 3ada2f3..7afbcfb 100644
--- a/airflow/providers/microsoft/winrm/operators/winrm.py
+++ b/airflow/providers/microsoft/winrm/operators/winrm.py
@@ -51,7 +51,7 @@ class WinRMOperator(BaseOperator):
template_fields = ('command',)
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
winrm_hook=None,
ssh_conn_id=None,
remote_host=None,
diff --git a/airflow/providers/mongo/sensors/mongo.py b/airflow/providers/mongo/sensors/mongo.py
index 25684ba..58a0e89 100644
--- a/airflow/providers/mongo/sensors/mongo.py
+++ b/airflow/providers/mongo/sensors/mongo.py
@@ -41,7 +41,7 @@ class MongoSensor(BaseSensorOperator):
template_fields = ('collection', 'query')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
collection: str,
query: dict,
mongo_conn_id: str = "mongo_default",
diff --git a/airflow/providers/mysql/operators/mysql.py b/airflow/providers/mysql/operators/mysql.py
index ef8bd7a..256f577 100644
--- a/airflow/providers/mysql/operators/mysql.py
+++ b/airflow/providers/mysql/operators/mysql.py
@@ -48,7 +48,7 @@ class MySqlOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
mysql_conn_id: str = 'mysql_default',
parameters: Optional[Union[Mapping, Iterable]] = None,
diff --git a/airflow/providers/mysql/transfers/presto_to_mysql.py b/airflow/providers/mysql/transfers/presto_to_mysql.py
index 3be4d93..bf9f942 100644
--- a/airflow/providers/mysql/transfers/presto_to_mysql.py
+++ b/airflow/providers/mysql/transfers/presto_to_mysql.py
@@ -50,7 +50,7 @@ class PrestoToMySqlOperator(BaseOperator):
ui_color = '#a0e08c'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
sql: str,
mysql_table: str,
presto_conn_id: str = 'presto_default',
diff --git a/airflow/providers/mysql/transfers/s3_to_mysql.py b/airflow/providers/mysql/transfers/s3_to_mysql.py
index 94638e6..2bce20f 100644
--- a/airflow/providers/mysql/transfers/s3_to_mysql.py
+++ b/airflow/providers/mysql/transfers/s3_to_mysql.py
@@ -51,7 +51,7 @@ class S3ToMySqlOperator(BaseOperator):
ui_color = '#f4a460'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
s3_source_key: str,
mysql_table: str,
mysql_duplicate_key_handling: str = 'IGNORE',
diff --git a/airflow/providers/mysql/transfers/vertica_to_mysql.py b/airflow/providers/mysql/transfers/vertica_to_mysql.py
index ee72246..146b82c 100644
--- a/airflow/providers/mysql/transfers/vertica_to_mysql.py
+++ b/airflow/providers/mysql/transfers/vertica_to_mysql.py
@@ -65,6 +65,7 @@ class VerticaToMySqlOperator(BaseOperator):
@apply_defaults
def __init__(
self,
+ *,
sql,
mysql_table,
vertica_conn_id='vertica_default',
diff --git a/airflow/providers/opsgenie/operators/opsgenie_alert.py b/airflow/providers/opsgenie/operators/opsgenie_alert.py
index 06830e0..f086816 100644
--- a/airflow/providers/opsgenie/operators/opsgenie_alert.py
+++ b/airflow/providers/opsgenie/operators/opsgenie_alert.py
@@ -68,7 +68,7 @@ class OpsgenieAlertOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
message,
opsgenie_conn_id='opsgenie_default',
alias=None,
diff --git a/airflow/providers/oracle/operators/oracle.py b/airflow/providers/oracle/operators/oracle.py
index 54adbf4..5d7c98e 100644
--- a/airflow/providers/oracle/operators/oracle.py
+++ b/airflow/providers/oracle/operators/oracle.py
@@ -46,7 +46,7 @@ class OracleOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
oracle_conn_id: str = 'oracle_default',
parameters: Optional[Union[Mapping, Iterable]] = None,
diff --git a/airflow/providers/oracle/transfers/oracle_to_oracle.py b/airflow/providers/oracle/transfers/oracle_to_oracle.py
index 42b2516..64dbe7a 100644
--- a/airflow/providers/oracle/transfers/oracle_to_oracle.py
+++ b/airflow/providers/oracle/transfers/oracle_to_oracle.py
@@ -46,7 +46,7 @@ class OracleToOracleOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
oracle_destination_conn_id,
destination_table,
oracle_source_conn_id,
diff --git a/airflow/providers/papermill/operators/papermill.py b/airflow/providers/papermill/operators/papermill.py
index 3ffa77e..4c80050 100644
--- a/airflow/providers/papermill/operators/papermill.py
+++ b/airflow/providers/papermill/operators/papermill.py
@@ -50,7 +50,7 @@ class PapermillOperator(BaseOperator):
supports_lineage = True
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
input_nb: Optional[str] = None,
output_nb: Optional[str] = None,
parameters: Optional[Dict] = None,
diff --git a/airflow/providers/postgres/operators/postgres.py b/airflow/providers/postgres/operators/postgres.py
index bf27458..f0bce21 100644
--- a/airflow/providers/postgres/operators/postgres.py
+++ b/airflow/providers/postgres/operators/postgres.py
@@ -47,7 +47,7 @@ class PostgresOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
sql: str,
postgres_conn_id: str = 'postgres_default',
autocommit: bool = False,
diff --git a/airflow/providers/qubole/operators/qubole.py b/airflow/providers/qubole/operators/qubole.py
index acfd9f2..278e218 100644
--- a/airflow/providers/qubole/operators/qubole.py
+++ b/airflow/providers/qubole/operators/qubole.py
@@ -184,7 +184,7 @@ class QuboleOperator(BaseOperator):
)
@apply_defaults
- def __init__(self, qubole_conn_id="qubole_default", **kwargs):
+ def __init__(self, *, qubole_conn_id="qubole_default", **kwargs):
self.kwargs = kwargs
self.kwargs['qubole_conn_id'] = qubole_conn_id
self.hook = None
diff --git a/airflow/providers/qubole/operators/qubole_check.py b/airflow/providers/qubole/operators/qubole_check.py
index ba70f07..e010281 100644
--- a/airflow/providers/qubole/operators/qubole_check.py
+++ b/airflow/providers/qubole/operators/qubole_check.py
@@ -81,7 +81,7 @@ class QuboleCheckOperator(CheckOperator, QuboleOperator):
ui_fgcolor = '#000'
@apply_defaults
- def __init__(self, qubole_conn_id="qubole_default", **kwargs):
+ def __init__(self, *, qubole_conn_id="qubole_default", **kwargs):
sql = get_sql_from_qbol_cmd(kwargs)
super().__init__(qubole_conn_id=qubole_conn_id, sql=sql, **kwargs)
self.on_failure_callback = QuboleCheckHook.handle_failure_retry
diff --git a/airflow/providers/qubole/sensors/qubole.py b/airflow/providers/qubole/sensors/qubole.py
index c0ad7fb..b432ede 100644
--- a/airflow/providers/qubole/sensors/qubole.py
+++ b/airflow/providers/qubole/sensors/qubole.py
@@ -35,7 +35,7 @@ class QuboleSensor(BaseSensorOperator):
template_ext = ('.txt',)
@apply_defaults
- def __init__(self, data, qubole_conn_id="qubole_default", **kwargs):
+ def __init__(self, *, data, qubole_conn_id="qubole_default", **kwargs):
self.data = data
self.qubole_conn_id = qubole_conn_id
diff --git a/airflow/providers/redis/operators/redis_publish.py b/airflow/providers/redis/operators/redis_publish.py
index eca59fa..6cec144 100644
--- a/airflow/providers/redis/operators/redis_publish.py
+++ b/airflow/providers/redis/operators/redis_publish.py
@@ -39,7 +39,7 @@ class RedisPublishOperator(BaseOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
channel: str,
message: str,
redis_conn_id: str = 'redis_default',
diff --git a/airflow/providers/redis/sensors/redis_key.py b/airflow/providers/redis/sensors/redis_key.py
index 744b074..c90c965 100644
--- a/airflow/providers/redis/sensors/redis_key.py
+++ b/airflow/providers/redis/sensors/redis_key.py
@@ -30,7 +30,7 @@ class RedisKeySensor(BaseSensorOperator):
ui_color = '#f0eee4'
@apply_defaults
- def __init__(self, key: str, redis_conn_id: str, **kwargs) -> None:
+ def __init__(self, *, key: str, redis_conn_id: str, **kwargs) -> None:
super().__init__(**kwargs)
self.redis_conn_id = redis_conn_id
self.key = key
diff --git a/airflow/providers/redis/sensors/redis_pub_sub.py b/airflow/providers/redis/sensors/redis_pub_sub.py
index b9d5028..b2f5e8b 100644
--- a/airflow/providers/redis/sensors/redis_pub_sub.py
+++ b/airflow/providers/redis/sensors/redis_pub_sub.py
@@ -36,7 +36,7 @@ class RedisPubSubSensor(BaseSensorOperator):
ui_color = '#f0eee4'
@apply_defaults
- def __init__(self, channels: Union[List[str], str], redis_conn_id: str, **kwargs) -> None:
+ def __init__(self, *, channels: Union[List[str], str], redis_conn_id: str, **kwargs) -> None:
super().__init__(**kwargs)
self.channels = channels
self.redis_conn_id = redis_conn_id
diff --git a/airflow/providers/salesforce/operators/tableau_refresh_workbook.py b/airflow/providers/salesforce/operators/tableau_refresh_workbook.py
index 53bc2bb..8000680 100644
--- a/airflow/providers/salesforce/operators/tableau_refresh_workbook.py
+++ b/airflow/providers/salesforce/operators/tableau_refresh_workbook.py
@@ -42,7 +42,7 @@ class TableauRefreshWorkbookOperator(BaseOperator):
"""
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
workbook_name: str,
site_id: Optional[str] = None,
blocking: bool = True,
diff --git a/airflow/providers/salesforce/sensors/tableau_job_status.py b/airflow/providers/salesforce/sensors/tableau_job_status.py
index 424f172..7ec6b3c 100644
--- a/airflow/providers/salesforce/sensors/tableau_job_status.py
+++ b/airflow/providers/salesforce/sensors/tableau_job_status.py
@@ -46,7 +46,7 @@ class TableauJobStatusSensor(BaseSensorOperator):
template_fields = ('job_id',)
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
job_id: str,
site_id: Optional[str] = None,
tableau_conn_id: str = 'tableau_default',
diff --git a/airflow/providers/segment/operators/segment_track_event.py b/airflow/providers/segment/operators/segment_track_event.py
index 06025a4..01681a4 100644
--- a/airflow/providers/segment/operators/segment_track_event.py
+++ b/airflow/providers/segment/operators/segment_track_event.py
@@ -42,7 +42,7 @@ class SegmentTrackEventOperator(BaseOperator):
ui_color = '#ffd700'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
user_id: str,
event: str,
properties: Optional[dict] = None,
diff --git a/airflow/providers/sftp/operators/sftp.py b/airflow/providers/sftp/operators/sftp.py
index 0e268f5..fc2060b 100644
--- a/airflow/providers/sftp/operators/sftp.py
+++ b/airflow/providers/sftp/operators/sftp.py
@@ -82,7 +82,7 @@ class SFTPOperator(BaseOperator):
template_fields = ('local_filepath', 'remote_filepath', 'remote_host')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
ssh_hook=None,
ssh_conn_id=None,
remote_host=None,
diff --git a/airflow/providers/sftp/sensors/sftp.py b/airflow/providers/sftp/sensors/sftp.py
index 15592e3..de3e993 100644
--- a/airflow/providers/sftp/sensors/sftp.py
+++ b/airflow/providers/sftp/sensors/sftp.py
@@ -37,7 +37,7 @@ class SFTPSensor(BaseSensorOperator):
template_fields = ('path',)
@apply_defaults
- def __init__(self, path, sftp_conn_id='sftp_default', **kwargs):
+ def __init__(self, *, path, sftp_conn_id='sftp_default', **kwargs):
super().__init__(**kwargs)
self.path = path
self.hook = None
diff --git a/airflow/providers/singularity/operators/singularity.py b/airflow/providers/singularity/operators/singularity.py
index 122091a..759398a 100644
--- a/airflow/providers/singularity/operators/singularity.py
+++ b/airflow/providers/singularity/operators/singularity.py
@@ -65,7 +65,7 @@ class SingularityOperator(BaseOperator):
@apply_defaults
def __init__( # pylint: disable=too-many-arguments
- self,
+ self, *,
image: str,
command: Union[str, List[str]],
start_command: Optional[Union[str, List[str]]] = None,
diff --git a/airflow/providers/slack/operators/slack.py b/airflow/providers/slack/operators/slack.py
index 5dc2b03..67d1db5 100644
--- a/airflow/providers/slack/operators/slack.py
+++ b/airflow/providers/slack/operators/slack.py
@@ -44,7 +44,7 @@ class SlackAPIOperator(BaseOperator):
"""
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
slack_conn_id: Optional[str] = None,
token: Optional[str] = None,
method: Optional[str] = None,
diff --git a/airflow/providers/slack/operators/slack_webhook.py b/airflow/providers/slack/operators/slack_webhook.py
index 4f0d8cb..2c0023e 100644
--- a/airflow/providers/slack/operators/slack_webhook.py
+++ b/airflow/providers/slack/operators/slack_webhook.py
@@ -63,7 +63,7 @@ class SlackWebhookOperator(SimpleHttpOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
http_conn_id=None,
webhook_token=None,
message="",
diff --git a/airflow/providers/snowflake/operators/snowflake.py b/airflow/providers/snowflake/operators/snowflake.py
index 470000b..6a7e176 100644
--- a/airflow/providers/snowflake/operators/snowflake.py
+++ b/airflow/providers/snowflake/operators/snowflake.py
@@ -63,7 +63,7 @@ class SnowflakeOperator(BaseOperator):
@apply_defaults
def __init__(
- self, sql, snowflake_conn_id='snowflake_default', parameters=None,
+ self, *, sql, snowflake_conn_id='snowflake_default', parameters=None,
autocommit=True, warehouse=None, database=None, role=None,
schema=None, authenticator=None, **kwargs):
super().__init__(**kwargs)
diff --git a/airflow/providers/snowflake/transfers/s3_to_snowflake.py b/airflow/providers/snowflake/transfers/s3_to_snowflake.py
index 5a4a147..361545d 100644
--- a/airflow/providers/snowflake/transfers/s3_to_snowflake.py
+++ b/airflow/providers/snowflake/transfers/s3_to_snowflake.py
@@ -47,6 +47,7 @@ class S3ToSnowflakeOperator(BaseOperator):
@apply_defaults
def __init__(self,
+ *,
s3_keys,
table,
stage,
diff --git a/airflow/providers/snowflake/transfers/snowflake_to_slack.py b/airflow/providers/snowflake/transfers/snowflake_to_slack.py
index 2a5682d..02fe167 100644
--- a/airflow/providers/snowflake/transfers/snowflake_to_slack.py
+++ b/airflow/providers/snowflake/transfers/snowflake_to_slack.py
@@ -69,6 +69,7 @@ class SnowflakeToSlackOperator(BaseOperator):
@apply_defaults
def __init__( # pylint: disable=too-many-arguments
self,
+ *,
sql: str,
slack_message: str,
snowflake_conn_id: str = 'snowflake_default',
diff --git a/airflow/providers/sqlite/operators/sqlite.py b/airflow/providers/sqlite/operators/sqlite.py
index cf1b8a0..c51b4e9 100644
--- a/airflow/providers/sqlite/operators/sqlite.py
+++ b/airflow/providers/sqlite/operators/sqlite.py
@@ -42,6 +42,7 @@ class SqliteOperator(BaseOperator):
@apply_defaults
def __init__(
self,
+ *,
sql: str,
sqlite_conn_id: str = 'sqlite_default',
parameters: Optional[Union[Mapping, Iterable]] = None,
diff --git a/airflow/providers/ssh/operators/ssh.py b/airflow/providers/ssh/operators/ssh.py
index 53f10b4..80b9c34 100644
--- a/airflow/providers/ssh/operators/ssh.py
+++ b/airflow/providers/ssh/operators/ssh.py
@@ -59,6 +59,7 @@ class SSHOperator(BaseOperator):
@apply_defaults
def __init__(self,
+ *,
ssh_hook=None,
ssh_conn_id=None,
remote_host=None,
diff --git a/airflow/providers/vertica/operators/vertica.py b/airflow/providers/vertica/operators/vertica.py
index e72aded..923b1f6 100644
--- a/airflow/providers/vertica/operators/vertica.py
+++ b/airflow/providers/vertica/operators/vertica.py
@@ -39,7 +39,7 @@ class VerticaOperator(BaseOperator):
ui_color = '#b4e0ff'
@apply_defaults
- def __init__(self, sql: Union[str, List[str]],
+ def __init__(self, *, sql: Union[str, List[str]],
vertica_conn_id: str = 'vertica_default',
**kwargs: Any) -> None:
super().__init__(**kwargs)
diff --git a/airflow/providers/yandex/operators/yandexcloud_dataproc.py b/airflow/providers/yandex/operators/yandexcloud_dataproc.py
index cdcce02..cfbb74c 100644
--- a/airflow/providers/yandex/operators/yandexcloud_dataproc.py
+++ b/airflow/providers/yandex/operators/yandexcloud_dataproc.py
@@ -83,6 +83,7 @@ class DataprocCreateClusterOperator(BaseOperator):
# pylint: disable=too-many-locals
@apply_defaults
def __init__(self,
+ *,
folder_id: Optional[str] = None,
cluster_name: Optional[str] = None,
cluster_description: str = '',
@@ -174,7 +175,7 @@ class DataprocDeleteClusterOperator(BaseOperator):
template_fields = ['cluster_id']
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
connection_id: Optional[str] = None,
cluster_id: Optional[str] = None,
**kwargs):
@@ -220,7 +221,7 @@ class DataprocCreateHiveJobOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
query: Optional[str] = None,
query_file_uri: Optional[str] = None,
script_variables: Optional[Dict[str, str]] = None,
@@ -291,7 +292,7 @@ class DataprocCreateMapReduceJobOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
main_class: Optional[str] = None,
main_jar_file_uri: Optional[str] = None,
jar_file_uris: Optional[Iterable[str]] = None,
@@ -367,7 +368,7 @@ class DataprocCreateSparkJobOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
main_class: Optional[str] = None,
main_jar_file_uri: Optional[str] = None,
jar_file_uris: Optional[Iterable[str]] = None,
@@ -443,7 +444,7 @@ class DataprocCreatePysparkJobOperator(BaseOperator):
# pylint: disable=too-many-arguments
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
main_python_file_uri: Optional[str] = None,
python_file_uris: Optional[Iterable[str]] = None,
jar_file_uris: Optional[Iterable[str]] = None,
diff --git a/airflow/sensors/base_sensor_operator.py b/airflow/sensors/base_sensor_operator.py
index 3c74f3f..a1e9c98 100644
--- a/airflow/sensors/base_sensor_operator.py
+++ b/airflow/sensors/base_sensor_operator.py
@@ -68,7 +68,7 @@ class BaseSensorOperator(BaseOperator, SkipMixin):
valid_modes = ['poke', 'reschedule'] # type: Iterable[str]
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
poke_interval: float = 60,
timeout: float = 60 * 60 * 24 * 7,
soft_fail: bool = False,
diff --git a/airflow/sensors/bash.py b/airflow/sensors/bash.py
index 20d8a81..711a7d4 100644
--- a/airflow/sensors/bash.py
+++ b/airflow/sensors/bash.py
@@ -45,7 +45,7 @@ class BashSensor(BaseSensorOperator):
template_fields = ('bash_command', 'env')
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
bash_command,
env=None,
output_encoding='utf-8',
diff --git a/airflow/sensors/date_time_sensor.py b/airflow/sensors/date_time_sensor.py
index d188b7f..0d479ed 100644
--- a/airflow/sensors/date_time_sensor.py
+++ b/airflow/sensors/date_time_sensor.py
@@ -58,7 +58,7 @@ class DateTimeSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self, target_time: Union[str, datetime.datetime], **kwargs
+ self, *, target_time: Union[str, datetime.datetime], **kwargs
) -> None:
super().__init__(**kwargs)
if isinstance(target_time, datetime.datetime):
diff --git a/airflow/sensors/external_task_sensor.py b/airflow/sensors/external_task_sensor.py
index 63cedd1..cb45d53 100644
--- a/airflow/sensors/external_task_sensor.py
+++ b/airflow/sensors/external_task_sensor.py
@@ -66,7 +66,7 @@ class ExternalTaskSensor(BaseSensorOperator):
ui_color = '#19647e'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
external_dag_id,
external_task_id=None,
allowed_states=None,
@@ -242,7 +242,7 @@ class ExternalTaskMarker(DummyOperator):
ui_color = '#19647e'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
external_dag_id,
external_task_id,
execution_date: Optional[Union[str, datetime.datetime]] = "{{ execution_date.isoformat() }}",
diff --git a/airflow/sensors/filesystem.py b/airflow/sensors/filesystem.py
index a06952c..e8022d7 100644
--- a/airflow/sensors/filesystem.py
+++ b/airflow/sensors/filesystem.py
@@ -43,7 +43,7 @@ class FileSensor(BaseSensorOperator):
ui_color = '#91818a'
@apply_defaults
- def __init__(self,
+ def __init__(self, *,
filepath,
fs_conn_id='fs_default',
**kwargs):
diff --git a/airflow/sensors/python.py b/airflow/sensors/python.py
index fd31a2f..1834051 100644
--- a/airflow/sensors/python.py
+++ b/airflow/sensors/python.py
@@ -50,7 +50,7 @@ class PythonSensor(BaseSensorOperator):
@apply_defaults
def __init__(
- self,
+ self, *,
python_callable: Callable,
op_args: Optional[List] = None,
op_kwargs: Optional[Dict] = None,
diff --git a/airflow/sensors/sql_sensor.py b/airflow/sensors/sql_sensor.py
index 70a8301..d0c7290 100644
--- a/airflow/sensors/sql_sensor.py
+++ b/airflow/sensors/sql_sensor.py
@@ -56,7 +56,7 @@ class SqlSensor(BaseSensorOperator):
ui_color = '#7c7287'
@apply_defaults
- def __init__(self, conn_id, sql, parameters=None, success=None, failure=None, fail_on_empty=False,
+ def __init__(self, *, conn_id, sql, parameters=None, success=None, failure=None, fail_on_empty=False,
**kwargs):
self.conn_id = conn_id
self.sql = sql
diff --git a/airflow/sensors/time_delta_sensor.py b/airflow/sensors/time_delta_sensor.py
index 68f29ce..4a7461f 100644
--- a/airflow/sensors/time_delta_sensor.py
+++ b/airflow/sensors/time_delta_sensor.py
@@ -33,7 +33,7 @@ class TimeDeltaSensor(BaseSensorOperator):
"""
@apply_defaults
- def __init__(self, delta, **kwargs):
+ def __init__(self, *, delta, **kwargs):
super().__init__(**kwargs)
self.delta = delta
diff --git a/airflow/sensors/time_sensor.py b/airflow/sensors/time_sensor.py
index 608a30c..179fecb 100644
--- a/airflow/sensors/time_sensor.py
+++ b/airflow/sensors/time_sensor.py
@@ -30,7 +30,7 @@ class TimeSensor(BaseSensorOperator):
"""
@apply_defaults
- def __init__(self, target_time, **kwargs):
+ def __init__(self, *, target_time, **kwargs):
super().__init__(**kwargs)
self.target_time = target_time
diff --git a/airflow/sensors/weekday_sensor.py b/airflow/sensors/weekday_sensor.py
index e07fdd6..0340794 100644
--- a/airflow/sensors/weekday_sensor.py
+++ b/airflow/sensors/weekday_sensor.py
@@ -73,7 +73,7 @@ class DayOfWeekSensor(BaseSensorOperator):
"""
@apply_defaults
- def __init__(self, week_day,
+ def __init__(self, *, week_day,
use_task_execution_day=False,
**kwargs):
super().__init__(**kwargs)