This is an automated email from the ASF dual-hosted git repository. amoghdesai pushed a commit to branch resolving-conflicts in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 315307c3ec788e3ccaea62197532edfec86eb362 Merge: 44ccfc1d234 6ce33ee8dda Author: Amogh <[email protected]> AuthorDate: Wed Jan 29 15:35:13 2025 +0530 Merge branch 'main' into resolving-conflicts .github/actions/install-pre-commit/action.yml | 4 +- .github/boring-cyborg.yml | 234 +- .github/workflows/ci-image-build.yml | 11 + .github/workflows/generate-constraints.yml | 11 +- .github/workflows/test-provider-packages.yml | 4 + .pre-commit-config.yaml | 64 +- Dockerfile | 4 +- Dockerfile.ci | 13 +- airflow/api_connexion/endpoints/asset_endpoint.py | 8 +- airflow/api_connexion/endpoints/dag_endpoint.py | 8 +- airflow/api_connexion/endpoints/dag_parsing.py | 2 +- .../api_connexion/endpoints/dag_source_endpoint.py | 2 +- .../endpoints/import_error_endpoint.py | 6 +- .../endpoints/task_instance_endpoint.py | 2 +- airflow/api_connexion/security.py | 34 +- airflow/api_fastapi/core_api/datamodels/common.py | 96 +- .../api_fastapi/core_api/datamodels/connections.py | 80 - airflow/api_fastapi/core_api/datamodels/pools.py | 90 +- .../core_api/datamodels/task_instances.py | 5 +- .../api_fastapi/core_api/datamodels/variables.py | 78 - .../api_fastapi/core_api/openapi/v1-generated.yaml | 985 +++--- .../core_api/routes/public/connections.py | 37 +- .../core_api/routes/public/dag_report.py | 2 +- .../api_fastapi/core_api/routes/public/dag_run.py | 11 +- airflow/api_fastapi/core_api/routes/public/dags.py | 4 +- .../api_fastapi/core_api/routes/public/pools.py | 36 +- .../core_api/routes/public/task_instances.py | 145 +- .../core_api/routes/public/variables.py | 36 +- airflow/api_fastapi/core_api/security.py | 23 +- .../api_fastapi/core_api/services/public/common.py | 74 + .../core_api/services/public/connections.py | 250 +- .../api_fastapi/core_api/services/public/pools.py | 245 +- .../core_api/services/public/variables.py | 206 +- .../api_fastapi/logging}/__init__.py | 0 airflow/api_fastapi/logging/decorators.py | 156 + airflow/auth/managers/base_auth_manager.py | 93 +- .../auth/managers/simple/simple_auth_manager.py | 53 +- airflow/auth/managers/simple/views/auth.py | 121 - airflow/dag_processing/bundles/git.py | 25 +- airflow/dag_processing/collection.py | 12 +- airflow/dag_processing/manager.py | 35 +- airflow/jobs/scheduler_job_runner.py | 4 +- .../versions/0050_3_0_0_add_dagbundlemodel.py | 9 + airflow/models/dag_version.py | 6 + airflow/models/serialized_dag.py | 9 + airflow/ui/openapi-gen/queries/common.ts | 20 +- airflow/ui/openapi-gen/queries/prefetch.ts | 8 +- airflow/ui/openapi-gen/queries/queries.ts | 162 +- airflow/ui/openapi-gen/queries/suspense.ts | 10 +- airflow/ui/openapi-gen/requests/schemas.gen.ts | 1018 +++--- airflow/ui/openapi-gen/requests/services.gen.ts | 104 +- airflow/ui/openapi-gen/requests/types.gen.ts | 567 ++-- airflow/ui/package.json | 3 +- airflow/ui/pnpm-lock.yaml | 27 + .../components/ActionAccordion/ActionAccordion.tsx | 103 + .../{Clear => ActionAccordion}/columns.tsx | 5 +- .../{MarkAs => ActionAccordion}/index.tsx | 2 +- airflow/ui/src/components/Clear/ClearAccordion.tsx | 101 - .../ui/src/components/Clear/Run/ClearRunDialog.tsx | 5 +- .../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 5 +- airflow/ui/src/components/Clear/columns.tsx | 6 +- airflow/ui/src/components/DagRunInfo.tsx | 5 +- .../components/FlexibleForm/FieldAdvancedArray.tsx | 97 +- .../ui/src/components/FlexibleForm/FieldBool.tsx | 30 +- .../src/components/FlexibleForm/FieldDateTime.tsx | 40 +- .../src/components/FlexibleForm/FieldDropdown.tsx | 22 +- .../components/FlexibleForm/FieldMultiSelect.tsx | 32 +- .../components/FlexibleForm/FieldMultilineText.tsx | 34 +- .../ui/src/components/FlexibleForm/FieldNumber.tsx | 50 +- .../ui/src/components/FlexibleForm/FieldObject.tsx | 70 +- .../ui/src/components/FlexibleForm/FieldRow.tsx | 38 +- .../src/components/FlexibleForm/FieldSelector.tsx | 29 +- .../ui/src/components/FlexibleForm/FieldString.tsx | 64 +- .../components/FlexibleForm/FieldStringArray.tsx | 53 +- .../src/components/FlexibleForm/FlexibleForm.tsx | 68 +- .../ui/src/components/FlexibleForm/HiddenInput.tsx | 21 +- airflow/ui/src/components/FlexibleForm/Row.tsx | 9 +- airflow/ui/src/components/FlexibleForm/index.tsx | 6 - .../ui/src/components/MarkAs/MarkAsAccordion.tsx | 72 - .../src/components/MarkAs/Run/MarkRunAsButton.tsx | 12 +- .../src/components/MarkAs/Run/MarkRunAsDialog.tsx | 12 +- .../MarkTaskInstanceAsButton.tsx} | 33 +- .../TaskInstance/MarkTaskInstanceAsDialog.tsx} | 69 +- .../components/MarkAs/{ => TaskInstance}/index.tsx | 2 +- airflow/ui/src/components/MarkAs/index.tsx | 1 + .../Grid/Grid.tsx => components/MarkAs/utils.ts} | 4 +- airflow/ui/src/components/QuickFilterButton.tsx | 2 - .../{MetricsBadge.tsx => StateBadge.tsx} | 29 +- airflow/ui/src/components/StateIcon.tsx | 70 + airflow/ui/src/components/TaskInstanceTooltip.tsx | 1 + .../Details/Graph => components}/TaskName.tsx | 40 +- airflow/ui/src/components/TaskTrySelect.tsx | 22 +- .../src/components/TriggerDag/TriggerDAGForm.tsx | 39 +- .../src/components/TriggerDag/TriggerDAGModal.tsx | 2 +- .../ui/src/components/TriggerDag/useParamStore.ts | 100 + airflow/ui/src/components/ui/Status.tsx | 41 - airflow/ui/src/components/ui/index.ts | 2 - airflow/ui/src/layouts/Details/DagRunSelect.tsx | 20 +- airflow/ui/src/layouts/Details/DagVizModal.tsx | 2 + airflow/ui/src/layouts/Details/DetailsLayout.tsx | 6 +- airflow/ui/src/layouts/Details/Graph/Graph.tsx | 5 +- .../Details/Graph/{TaskName.tsx => TaskLink.tsx} | 46 +- airflow/ui/src/layouts/Details/Graph/TaskNode.tsx | 17 +- airflow/ui/src/layouts/Details/Grid/Bar.tsx | 96 + .../Details/Grid/DurationAxis.tsx} | 5 +- .../Details/Grid/DurationTick.tsx} | 7 +- airflow/ui/src/layouts/Details/Grid/Grid.tsx | 147 +- airflow/ui/src/layouts/Details/Grid/GridButton.tsx | 79 + airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 80 + .../ui/src/layouts/Details/Grid/TaskInstances.tsx | 59 + airflow/ui/src/layouts/Details/Grid/TaskNames.tsx | 101 + airflow/ui/src/layouts/Details/Grid/utils.ts | 58 + airflow/ui/src/layouts/Details/ToggleGroups.tsx | 81 + airflow/ui/src/main.tsx | 5 +- airflow/ui/src/pages/Dag/Overview/Overview.tsx | 5 +- airflow/ui/src/pages/Dag/Runs/Runs.tsx | 9 +- airflow/ui/src/pages/Dag/Tasks/TaskCard.tsx | 6 +- airflow/ui/src/pages/Dag/Tasks/TaskRecentRuns.tsx | 3 +- airflow/ui/src/pages/DagsList/DagsFilters.tsx | 12 +- airflow/ui/src/pages/DagsList/RecentRuns.tsx | 3 +- airflow/ui/src/pages/Dashboard/Health/Health.tsx | 10 +- .../Health/{HealthTag.tsx => HealthBadge.tsx} | 15 +- .../src/pages/Dashboard/Health/HealthSection.tsx | 10 +- .../Dashboard/HistoricalMetrics/AssetEvents.tsx | 6 +- .../Dashboard/HistoricalMetrics/DagRunMetrics.tsx | 6 +- .../Dashboard/HistoricalMetrics/MetricSection.tsx | 19 +- .../HistoricalMetrics/TaskInstanceMetrics.tsx | 30 +- .../src/pages/Dashboard/Stats/DAGImportErrors.tsx | 6 +- .../src/pages/Dashboard/Stats/DagFilterButton.tsx | 18 +- airflow/ui/src/pages/Dashboard/Stats/Stats.tsx | 20 +- airflow/ui/src/pages/Pools/PoolBar.tsx | 23 +- airflow/ui/src/pages/Run/Details.tsx | 7 +- airflow/ui/src/pages/Run/Header.tsx | 4 +- airflow/ui/src/pages/Run/TaskInstances.tsx | 13 +- airflow/ui/src/pages/Task/Instances.tsx | 4 +- airflow/ui/src/pages/TaskInstance/Details.tsx | 7 +- airflow/ui/src/pages/TaskInstance/Header.tsx | 6 +- .../src/pages/Variables/DeleteVariablesButton.tsx | 2 +- .../ui/src/pages/Variables/ImportVariablesForm.tsx | 2 +- airflow/ui/src/queries/useClearTaskInstances.ts | 28 +- airflow/ui/src/queries/useDagParams.ts | 8 +- airflow/ui/src/queries/usePatchTaskInstance.ts | 10 +- .../ui/src/queries/usePatchTaskInstanceDryRun.ts | 63 + airflow/ui/src/theme.ts | 176 + airflow/ui/src/utils/stateColor.ts | 37 - airflow/utils/dag_parsing_context.py | 3 +- airflow/www/auth.py | 40 +- airflow/www/views.py | 25 +- .../dag-processor/dag-processor-deployment.yaml | 5 +- chart/templates/flower/flower-deployment.yaml | 12 + .../templates/scheduler/scheduler-deployment.yaml | 7 +- .../scheduler/scheduler-serviceaccount.yaml | 2 +- .../templates/triggerer/triggerer-deployment.yaml | 5 +- .../triggerer/triggerer-kedaautoscaler.yaml | 1 + chart/templates/workers/worker-deployment.yaml | 5 +- chart/templates/workers/worker-kedaautoscaler.yaml | 1 + chart/values.schema.json | 32 + chart/values.yaml | 13 + contributing-docs/01_roles_in_airflow_project.rst | 2 +- contributing-docs/08_static_code_checks.rst | 4 +- .../contributors_quick_start_gitpod.rst | 7 + dev/breeze/doc/ci/02_images.md | 6 +- ...release-management_prepare-task-sdk-package.svg | 30 +- ...release-management_prepare-task-sdk-package.txt | 2 +- dev/breeze/doc/images/output_static-checks.svg | 18 +- dev/breeze/doc/images/output_static-checks.txt | 2 +- .../src/airflow_breeze/commands/main_command.py | 10 +- .../commands/release_management_commands.py | 164 +- .../commands/release_management_commands_config.py | 1 + .../airflow_breeze/commands/testing_commands.py | 2 +- dev/breeze/src/airflow_breeze/global_constants.py | 4 +- .../src/airflow_breeze/params/shell_params.py | 2 +- dev/breeze/src/airflow_breeze/pre_commit_ids.py | 2 +- .../templates/pyproject_TEMPLATE.toml.jinja2 | 4 +- .../airflow_breeze/utils/docker_command_utils.py | 29 +- dev/breeze/src/airflow_breeze/utils/run_tests.py | 19 +- dev/breeze/tests/test_packages.py | 31 - dev/breeze/tests/test_provider_documentation.py | 9 - .../tests/test_pytest_args_for_test_types.py | 13 +- dev/breeze/tests/test_run_test_args.py | 36 +- dev/breeze/tests/test_selective_checks.py | 48 +- dev/moving_providers/README.md | 43 +- dev/moving_providers/move_providers.py | 364 ++- docs/.gitignore | 51 + .../operators/athena/athena_sql.rst | 4 +- .../operators/redshift/redshift_sql.rst | 2 +- .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - docs/apache-airflow-providers-asana/changelog.rst | 25 - docs/apache-airflow-providers-cohere/changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../operators/jobs_create.rst | 1 + .../operators/submit_run.rst | 1 + .../operators/task.rst | 7 + .../apache-airflow-providers-datadog/changelog.rst | 25 - .../apache-airflow-providers-discord/changelog.rst | 25 - docs/apache-airflow-providers-exasol/changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - docs/apache-airflow-providers-http/changelog.rst | 25 - docs/apache-airflow-providers-imap/changelog.rst | 25 - .../apache-airflow-providers-jenkins/changelog.rst | 25 - .../connections/images/msgraph.png | Bin 0 -> 71754 bytes .../connections/msgraph.rst | 135 + docs/apache-airflow-providers-mongo/changelog.rst | 25 - docs/apache-airflow-providers-mysql/changelog.rst | 25 - docs/apache-airflow-providers-neo4j/changelog.rst | 25 - docs/apache-airflow-providers-odbc/changelog.rst | 25 - docs/apache-airflow-providers-openai/changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - docs/apache-airflow-providers-presto/changelog.rst | 25 - docs/apache-airflow-providers-qdrant/changelog.rst | 25 - .../connections/salesforce.rst | 5 + docs/apache-airflow-providers-samba/changelog.rst | 25 - .../apache-airflow-providers-segment/changelog.rst | 25 - docs/apache-airflow-providers-sftp/changelog.rst | 25 - .../changelog.rst | 25 - .../connections/smtp.rst | 2 + .../changelog.rst | 25 - docs/apache-airflow-providers-ssh/changelog.rst | 25 - .../changelog.rst | 25 - .../apache-airflow-providers-tableau/changelog.rst | 25 - .../changelog.rst | 25 - .../changelog.rst | 25 - .../apache-airflow-providers-vertica/changelog.rst | 25 - .../changelog.rst | 25 - docs/apache-airflow-providers-ydb/changelog.rst | 25 - .../apache-airflow-providers-zendesk/changelog.rst | 25 - .../dagfile-processing.rst | 2 +- .../administration-and-deployment/lineage.rst | 2 +- .../administration-and-deployment/scheduler.rst | 2 +- docs/apache-airflow/core-concepts/tasks.rst | 55 +- docs/apache-airflow/img/airflow_erd.sha256 | 2 +- docs/apache-airflow/img/airflow_erd.svg | 3451 ++++++++++---------- .../apache-airflow/static/redirects.js | 10 +- docs/conf.py | 1 + generated/provider_dependencies.json | 12 +- generated/provider_metadata.json | 4 + helm_tests/airflow_core/test_scheduler.py | 2 + helm_tests/airflow_core/test_triggerer.py | 15 + helm_tests/other/test_flower.py | 31 + helm_tests/other/test_keda.py | 13 + newsfragments/42439.bugfix.rst | 1 - newsfragments/aip-79.significant.rst | 20 + providers/__init__.py | 9 - .../Airbyte.png | Bin providers/airbyte/provider.yaml | 2 +- providers/airbyte/pyproject.toml | 7 +- .../airflow/providers/airbyte/get_provider_info.py | 2 +- providers/airbyte/tests/provider_tests/__init__.py | 2 - providers/alibaba/README.rst | 64 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => alibaba/docs/changelog.rst} | 0 .../alibaba/docs}/commits.rst | 0 .../alibaba/docs}/connections/alibaba.rst | 0 .../alibaba/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/alibabacloud-oss.png | Bin .../alibaba/docs}/logging/index.rst | 0 .../alibaba/docs}/logging/oss-task-handler.rst | 0 .../alibaba/docs}/operators/analyticdb_spark.rst | 2 +- .../alibaba/docs}/operators/index.rst | 0 .../alibaba/docs}/operators/oss.rst | 2 +- .../alibaba/docs}/redirects.txt | 0 .../alibaba/docs}/security.rst | 0 .../airflow/providers => }/alibaba/provider.yaml | 8 +- providers/{airbyte => alibaba}/pyproject.toml | 27 +- .../alibaba/src/airflow/providers/alibaba/LICENSE | 201 ++ .../src/airflow/providers/alibaba/__init__.py | 0 .../airflow/providers/alibaba/cloud}/__init__.py | 0 .../providers/alibaba/cloud/hooks}/__init__.py | 0 .../alibaba/cloud/hooks/analyticdb_spark.py | 0 .../airflow/providers/alibaba/cloud/hooks/oss.py | 0 .../providers/alibaba/cloud/log}/__init__.py | 0 .../alibaba/cloud/log/oss_task_handler.py | 0 .../providers/alibaba/cloud/operators}/__init__.py | 0 .../alibaba/cloud/operators/analyticdb_spark.py | 0 .../providers/alibaba/cloud/operators/oss.py | 0 .../providers/alibaba/cloud/sensors}/__init__.py | 0 .../alibaba/cloud/sensors/analyticdb_spark.py | 0 .../providers/alibaba/cloud/sensors/oss_key.py | 0 .../airflow/providers/alibaba/get_provider_info.py | 120 + .../test_opsgenie.py => alibaba/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/alibaba}/__init__.py | 0 .../provider_tests/alibaba/cloud}/__init__.py | 0 .../alibaba/cloud/hooks}/__init__.py | 0 .../alibaba/cloud/hooks/test_analyticdb_spark.py | 3 +- .../alibaba/cloud/hooks/test_oss.py | 3 +- .../provider_tests/alibaba/cloud/log}/__init__.py | 0 .../alibaba/cloud/log/test_oss_task_handler.py | 0 .../alibaba/cloud/operators}/__init__.py | 0 .../cloud/operators/test_analyticdb_spark.py | 0 .../alibaba/cloud/operators/test_oss.py | 0 .../alibaba/cloud/sensors}/__init__.py | 0 .../alibaba/cloud/sensors/test_analyticdb_spark.py | 0 .../alibaba/cloud/sensors/test_oss_key.py | 0 .../alibaba/cloud/utils}/__init__.py | 0 .../alibaba/cloud/utils/analyticdb_spark_mock.py | 0 .../alibaba/cloud/utils/oss_mock.py | 0 .../alibaba/cloud/utils/test_utils.py | 0 .../tests/system/alibaba}/__init__.py | 0 .../system/alibaba/example_adb_spark_batch.py | 0 .../tests/system/alibaba/example_adb_spark_sql.py | 0 .../tests/system/alibaba/example_oss_bucket.py | 0 .../tests/system/alibaba/example_oss_object.py | 0 providers/apache/beam/README.rst | 83 + .../beam/docs}/.latest-doc-only-change.txt | 0 .../providers/apache/beam/hooks/beam/index.rst | 267 ++ .../airflow/providers/apache/beam/hooks}/index.rst | 12 +- .../_api/airflow/providers/apache/beam}/index.rst | 23 +- .../providers/apache/beam/operators/beam/index.rst | 326 ++ .../providers/apache/beam}/operators/index.rst | 12 +- .../providers/apache/beam/triggers/beam/index.rst | 126 + .../providers/apache/beam/triggers}/index.rst | 12 +- .../system/apache/beam/example_beam}/index.rst | 20 +- .../apache/beam/example_beam_java_flink}/index.rst | 20 +- .../apache/beam/example_beam_java_spark}/index.rst | 20 +- .../tests/system/apache/beam/example_go}/index.rst | 20 +- .../apache/beam/example_go_dataflow}/index.rst | 20 +- .../apache/beam/example_java_dataflow}/index.rst | 20 +- .../system/apache/beam/example_python}/index.rst | 20 +- .../apache/beam/example_python_async}/index.rst | 20 +- .../apache/beam/example_python_dataflow}/index.rst | 20 +- .../docs/_api/tests/system/apache/beam}/index.rst | 21 +- .../_api/tests/system/apache/beam/utils/index.rst | 136 + .../beam/docs/changelog.rst} | 0 .../apache/beam/docs}/commits.rst | 0 .../apache/beam/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../apache/beam/docs}/operators.rst | 26 +- .../apache/beam/docs}/security.rst | 0 .../providers => }/apache/beam/provider.yaml | 18 - providers/apache/{iceberg => beam}/pyproject.toml | 37 +- .../beam/src/airflow/providers/apache/beam/LICENSE | 201 ++ .../src/airflow/providers/apache/beam/README.md | 0 .../src/airflow/providers/apache/beam/__init__.py | 0 .../providers/apache/beam/get_provider_info.py | 101 + .../providers/apache/beam}/hooks/__init__.py | 0 .../airflow/providers/apache/beam/hooks/beam.py | 0 .../providers/apache/beam/operators}/__init__.py | 0 .../providers/apache/beam/operators/beam.py | 0 .../providers/apache/beam/triggers}/__init__.py | 0 .../airflow/providers/apache/beam/triggers/beam.py | 0 .../beam/tests/conftest.py} | 17 +- .../beam}/tests/provider_tests/__init__.py | 2 - .../beam/tests/provider_tests/apache}/__init__.py | 2 - .../tests/provider_tests/apache/beam}/__init__.py | 0 .../provider_tests/apache/beam/hooks}/__init__.py | 0 .../provider_tests}/apache/beam/hooks/test_beam.py | 0 .../apache/beam/operators}/__init__.py | 0 .../apache/beam/operators/test_beam.py | 0 .../apache/beam/triggers}/__init__.py | 0 .../apache/beam/triggers/test_beam.py | 0 .../beam/tests/system/apache/beam}/__init__.py | 0 .../beam}/tests/system/apache/beam/example_beam.py | 10 +- .../system/apache/beam/example_beam_java_flink.py | 10 +- .../system/apache/beam/example_beam_java_spark.py | 10 +- .../beam}/tests/system/apache/beam/example_go.py | 10 +- .../system/apache/beam/example_go_dataflow.py | 14 +- .../system/apache/beam/example_java_dataflow.py | 10 +- .../tests/system/apache/beam/example_python.py | 10 +- .../system/apache/beam/example_python_async.py | 10 +- .../system/apache/beam/example_python_dataflow.py | 14 +- .../beam}/tests/system/apache/beam/utils.py | 0 .../iceberg.png | Bin providers/apache/iceberg/provider.yaml | 2 +- providers/apache/iceberg/pyproject.toml | 7 +- .../providers/apache/iceberg/get_provider_info.py | 2 +- .../iceberg/tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/apache/__init__.py | 2 - providers/apache/kafka/README.rst | 63 + .../kafka/docs}/.latest-doc-only-change.txt | 0 .../kafka/docs/changelog.rst} | 0 .../apache/kafka/docs}/commits.rst | 0 .../apache/kafka/docs}/connections/kafka.rst | 0 .../kafka/docs}/connections/kafka_connection.png | Bin .../apache/kafka/docs}/hooks.rst | 0 .../apache/kafka/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../apache/kafka/docs/integration-logos}/kafka.svg | 0 .../apache/kafka/docs}/operators/index.rst | 4 +- .../apache/kafka/docs}/security.rst | 0 .../apache/kafka/docs}/sensors.rst | 4 +- .../apache/kafka/docs}/triggers.rst | 0 .../providers => }/apache/kafka/provider.yaml | 7 +- providers/{airbyte => apache/kafka}/pyproject.toml | 26 +- .../src/airflow/providers/apache/kafka/LICENSE | 201 ++ .../src/airflow/providers/apache/kafka/__init__.py | 0 .../providers/apache/kafka/get_provider_info.py | 93 + .../providers/apache/kafka/hooks}/__init__.py | 0 .../airflow/providers/apache/kafka/hooks/base.py | 0 .../airflow/providers/apache/kafka/hooks/client.py | 0 .../providers/apache/kafka/hooks/consume.py | 0 .../providers/apache/kafka/hooks/produce.py | 0 .../providers/apache/kafka}/operators/__init__.py | 0 .../providers/apache/kafka/operators/consume.py | 0 .../providers/apache/kafka/operators/produce.py | 0 .../providers/apache/kafka/sensors}/__init__.py | 0 .../providers/apache/kafka/sensors/kafka.py | 0 .../providers/apache/kafka/triggers}/__init__.py | 0 .../apache/kafka/triggers/await_message.py | 0 .../kafka/tests/conftest.py} | 17 +- .../kafka}/tests/provider_tests/__init__.py | 2 - .../kafka/tests/provider_tests/apache}/__init__.py | 2 - .../tests/provider_tests/apache/kafka}/__init__.py | 0 .../provider_tests/apache/kafka/hooks}/__init__.py | 0 .../apache/kafka/hooks/test_base.py | 0 .../apache/kafka/hooks/test_client.py | 0 .../apache/kafka/hooks/test_consume.py | 0 .../apache/kafka/hooks/test_produce.py | 0 .../apache/kafka/operators}/__init__.py | 0 .../apache/kafka/operators/test_consume.py | 2 +- .../apache/kafka/operators/test_produce.py | 2 +- .../apache/kafka/sensors}/__init__.py | 0 .../apache/kafka/sensors/test_kafka.py | 0 .../apache/kafka/triggers}/__init__.py | 0 .../apache/kafka/triggers/test_await_message.py | 4 +- .../kafka/tests/system/apache/kafka}/__init__.py | 0 .../apache/kafka/example_dag_event_listener.py | 0 .../system/apache/kafka/example_dag_hello_kafka.py | 0 providers/apache/kylin/README.rst | 62 + .../kylin/docs}/.latest-doc-only-change.txt | 0 .../kylin/docs/changelog.rst} | 0 .../apache/kylin/docs}/commits.rst | 0 .../apache/kylin/docs}/connections.rst | 0 .../apache/kylin/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../apache/kylin/docs/integration-logos}/kylin.png | Bin .../apache/kylin/docs}/security.rst | 0 .../providers => }/apache/kylin/provider.yaml | 6 +- providers/{airbyte => apache/kylin}/pyproject.toml | 25 +- .../src/airflow/providers/apache/kylin/LICENSE | 201 ++ .../src/airflow/providers/apache/kylin/__init__.py | 0 .../providers/apache/kylin}/get_provider_info.py | 58 +- .../providers/apache/kylin/hooks}/__init__.py | 0 .../airflow/providers/apache/kylin/hooks/kylin.py | 0 .../providers/apache/kylin/operators}/__init__.py | 0 .../providers/apache/kylin/operators/kylin_cube.py | 0 .../kylin/tests/conftest.py} | 17 +- .../kylin}/tests/provider_tests/__init__.py | 2 - .../kylin/tests/provider_tests/apache}/__init__.py | 2 - .../tests/provider_tests/apache/kylin}/__init__.py | 0 .../provider_tests/apache/kylin/hooks}/__init__.py | 0 .../apache/kylin/hooks/test_kylin.py | 0 .../apache/kylin/operators}/__init__.py | 0 .../apache/kylin/operators/test_kylin_cube.py | 0 .../kylin/tests/system/apache/kylin}/__init__.py | 0 .../tests/system/apache/kylin/example_kylin_dag.py | 0 providers/apache/pig/README.rst | 61 + .../pig/docs}/.latest-doc-only-change.txt | 0 .../pig/docs/changelog.rst} | 0 .../apache/pig/docs}/commits.rst | 0 .../apache/pig/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../apache/pig/docs/integration-logos}/pig.png | Bin .../apache/pig/docs}/operators.rst | 2 +- .../apache/pig/docs}/security.rst | 0 .../providers => }/apache/pig/provider.yaml | 5 +- providers/{airbyte => apache/pig}/pyproject.toml | 24 +- .../pig/src/airflow/providers/apache/pig/LICENSE | 201 ++ .../src/airflow/providers/apache/pig/__init__.py | 0 .../providers/apache/pig}/get_provider_info.py | 52 +- .../providers/apache/pig/hooks}/__init__.py | 0 .../src/airflow/providers/apache/pig/hooks/pig.py | 0 .../providers/apache/pig/operators}/__init__.py | 0 .../airflow/providers/apache/pig/operators/pig.py | 0 .../pig/tests/conftest.py} | 17 +- .../pig}/tests/provider_tests/__init__.py | 2 - .../pig/tests/provider_tests/apache}/__init__.py | 2 - .../tests/provider_tests/apache/pig}/__init__.py | 0 .../provider_tests/apache/pig}/hooks/__init__.py | 0 .../provider_tests}/apache/pig/hooks/test_pig.py | 0 .../apache/pig/operators}/__init__.py | 0 .../apache/pig/operators/test_pig.py | 0 .../pig/tests/system/apache/pig}/__init__.py | 0 .../pig}/tests/system/apache/pig/example_pig.py | 0 providers/apache/pinot/README.rst | 82 + .../pinot/docs}/.latest-doc-only-change.txt | 0 .../pinot/docs/changelog.rst} | 0 .../apache/pinot/docs}/commits.rst | 0 .../apache/pinot/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../apache/pinot/docs/integration-logos}/pinot.png | Bin .../apache/pinot/docs}/operators.rst | 4 +- .../apache/pinot/docs}/security.rst | 0 .../providers => }/apache/pinot/provider.yaml | 7 +- providers/{airbyte => apache/pinot}/pyproject.toml | 26 +- .../src/airflow/providers/apache/pinot/LICENSE | 201 ++ .../src/airflow/providers/apache/pinot/__init__.py | 0 .../providers/apache/pinot/get_provider_info.py | 90 + .../providers/apache/pinot/hooks}/__init__.py | 0 .../airflow/providers/apache/pinot/hooks/pinot.py | 0 .../pinot/tests/conftest.py} | 17 +- .../pinot}/tests/provider_tests/__init__.py | 2 - .../pinot/tests/provider_tests/apache}/__init__.py | 2 - .../tests/provider_tests/apache/pinot}/__init__.py | 0 .../provider_tests/apache/pinot/hooks}/__init__.py | 0 .../apache/pinot/hooks/test_pinot.py | 0 .../pinot/tests/system/apache/pinot}/__init__.py | 0 .../tests/system/apache/pinot/example_pinot_dag.py | 0 providers/apache/spark/README.rst | 83 + .../spark/docs}/.latest-doc-only-change.txt | 0 .../spark/docs/changelog.rst} | 0 .../apache/spark/docs}/commits.rst | 0 .../apache/spark/docs}/connections/index.rst | 0 .../spark/docs}/connections/spark-connect.rst | 0 .../apache/spark/docs}/connections/spark-sql.rst | 0 .../spark/docs}/connections/spark-submit.rst | 0 .../apache/spark/docs}/decorators/pyspark.rst | 2 +- .../apache/spark/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../apache/spark/docs/integration-logos}/spark.png | Bin .../apache/spark/docs}/operators.rst | 6 +- .../apache/spark/docs}/redirects.txt | 0 .../apache/spark/docs}/security.rst | 0 .../providers => }/apache/spark/provider.yaml | 12 +- providers/apache/{iceberg => spark}/pyproject.toml | 36 +- .../src/airflow/providers/apache/spark/LICENSE | 201 ++ .../src/airflow/providers/apache/spark/__init__.py | 0 .../providers/apache/spark/decorators}/__init__.py | 0 .../providers/apache/spark/decorators/pyspark.py | 0 .../providers/apache/spark/get_provider_info.py | 132 + .../providers/apache/spark/hooks}/__init__.py | 0 .../providers/apache/spark/hooks/spark_connect.py | 0 .../providers/apache/spark/hooks/spark_jdbc.py | 0 .../apache/spark/hooks/spark_jdbc_script.py | 0 .../providers/apache/spark/hooks/spark_sql.py | 0 .../providers/apache/spark/hooks/spark_submit.py | 0 .../providers/apache/spark}/operators/__init__.py | 0 .../providers/apache/spark/operators/spark_jdbc.py | 0 .../providers/apache/spark/operators/spark_sql.py | 0 .../apache/spark/operators/spark_submit.py | 0 .../spark/tests/conftest.py} | 17 +- .../spark}/tests/provider_tests/__init__.py | 2 - .../spark/tests/provider_tests/apache}/__init__.py | 2 - .../tests/provider_tests/apache/spark}/__init__.py | 0 .../apache/spark/decorators}/__init__.py | 0 .../apache/spark/decorators/test_pyspark.py | 0 .../provider_tests/apache/spark/hooks}/__init__.py | 0 .../apache/spark/hooks/test_spark_connect.py | 0 .../apache/spark/hooks/test_spark_jdbc.py | 0 .../apache/spark/hooks/test_spark_jdbc_script.py | 0 .../apache/spark/hooks/test_spark_sql.py | 0 .../apache/spark/hooks/test_spark_submit.py | 0 .../apache/spark/operators}/__init__.py | 0 .../apache/spark/operators/test_spark_jdbc.py | 0 .../apache/spark/operators/test_spark_sql.py | 0 .../apache/spark/operators/test_spark_submit.py | 0 .../spark/tests/system/apache/spark}/__init__.py | 0 .../tests/system/apache/spark/example_pyspark.py | 0 .../tests/system/apache/spark/example_spark_dag.py | 0 providers/asana/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => asana/docs/changelog.rst} | 0 .../asana/docs}/commits.rst | 0 .../asana/docs}/connections/asana.rst | 0 .../asana/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../asana/docs}/operators/asana.rst | 2 +- .../asana/docs}/operators/index.rst | 0 .../asana/docs}/security.rst | 0 .../airflow/providers => }/asana/provider.yaml | 8 - providers/{airbyte => asana}/pyproject.toml | 29 +- .../asana/src/airflow/providers/asana/LICENSE | 201 ++ .../src/airflow/providers/asana/README.md | 0 .../src/airflow/providers/asana/__init__.py | 0 .../airflow/providers/asana}/get_provider_info.py | 51 +- .../src/airflow/providers/asana/hooks}/__init__.py | 0 .../src/airflow/providers/asana/hooks/asana.py | 3 +- .../airflow/providers/asana/operators}/__init__.py | 0 .../providers/asana/operators/asana_tasks.py | 0 .../test_opsgenie.py => asana/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/asana}/__init__.py | 0 .../tests/provider_tests/asana}/hooks/__init__.py | 0 .../provider_tests}/asana/hooks/test_asana.py | 0 .../provider_tests/asana/operators}/__init__.py | 0 .../asana/operators/test_asana_tasks.py | 0 .../tests/system/asana}/__init__.py | 0 .../tests/system/asana/example_asana.py | 0 providers/celery/docs/changelog.rst | 2 + providers/celery/docs/commits.rst | 10 +- .../Celery.png | Bin providers/celery/provider.yaml | 2 +- providers/celery/pyproject.toml | 7 +- .../celery/executors/celery_executor_utils.py | 2 +- .../airflow/providers/celery/get_provider_info.py | 2 +- providers/celery/tests/provider_tests/__init__.py | 2 - providers/cohere/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => cohere/docs/changelog.rst} | 0 .../cohere/docs}/commits.rst | 0 .../cohere/docs}/connections.rst | 0 .../cohere/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../cohere/docs}/operators/embedding.rst | 2 +- .../cohere/docs}/security.rst | 0 .../airflow/providers => }/cohere/provider.yaml | 4 - providers/{airbyte => cohere}/pyproject.toml | 25 +- .../cohere/src/airflow/providers/cohere/LICENSE | 201 ++ .../src/airflow/providers/cohere/__init__.py | 0 .../airflow/providers/cohere}/get_provider_info.py | 31 +- .../src/airflow/providers/cohere/hooks/__init__.py | 0 .../src/airflow/providers/cohere/hooks/cohere.py | 3 +- .../providers/cohere/operators}/__init__.py | 0 .../providers/cohere/operators/embedding.py | 0 .../test_opsgenie.py => cohere/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/cohere}/__init__.py | 0 .../tests/provider_tests/cohere/hooks}/__init__.py | 0 .../provider_tests}/cohere/hooks/test_cohere.py | 0 .../provider_tests/cohere/operators}/__init__.py | 0 .../cohere/operators/test_embedding.py | 0 .../tests/system/cohere}/__init__.py | 0 .../cohere/example_cohere_embedding_operator.py | 0 .../common/compat/README.rst | 71 +- .../compat/docs}/.latest-doc-only-change.txt | 0 .../compat/docs/changelog.rst} | 0 .../common/compat/docs}/commits.rst | 0 .../common/compat/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../common/compat/docs}/security.rst | 0 .../providers => }/common/compat/provider.yaml | 3 - .../iceberg => common/compat}/pyproject.toml | 34 +- .../src/airflow/providers/common/compat/LICENSE | 201 ++ .../airflow/providers/common/compat/__init__.py | 0 .../providers/common/compat/assets/__init__.py | 0 .../providers/common/compat}/get_provider_info.py | 32 +- .../providers/common/compat/lineage}/__init__.py | 0 .../providers/common/compat}/lineage/entities.py | 0 .../providers/common/compat/lineage/hook.py | 0 .../common/compat/openlineage}/__init__.py | 0 .../providers/common/compat/openlineage/facet.py | 0 .../common/compat/openlineage/utils}/__init__.py | 0 .../common/compat/openlineage/utils/spark.py | 0 .../common/compat/openlineage/utils/sql.py | 0 .../common/compat/openlineage/utils/utils.py | 0 .../providers/common/compat/security}/__init__.py | 0 .../common/compat/security/permissions.py | 0 .../providers/common/compat/standard}/__init__.py | 0 .../providers/common/compat/standard/operators.py | 0 .../providers/common/compat/standard/triggers.py | 0 .../providers/common/compat/standard/utils.py | 0 .../providers/common/compat/version_compat.py | 0 .../compat/tests/conftest.py} | 17 +- .../compat}/tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/common}/__init__.py | 2 - .../provider_tests/common/compat}/__init__.py | 0 .../common/compat/lineage}/__init__.py | 0 .../common/compat/lineage/test_hook.py | 0 .../common/compat/openlineage}/__init__.py | 0 .../common/compat/openlineage/test_facet.py | 0 .../common/compat/openlineage/utils}/__init__.py | 0 .../common/compat/openlineage/utils/test_spark.py | 0 .../common/compat/openlineage/utils/test_sql.py | 0 .../common/compat/openlineage/utils/test_utils.py | 0 .../common/compat/security}/__init__.py | 0 .../common/compat/security/test_permissions.py | 0 providers/common/io/README.rst | 81 + .../io/docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => common/io/docs/changelog.rst} | 0 .../common/io/docs}/commits.rst | 0 .../common/io/docs}/configurations-ref.rst | 0 .../common/io/docs}/index.rst | 0 .../io/docs}/installing-providers-from-sources.rst | 0 .../common/io/docs}/operators.rst | 2 +- .../common/io/docs}/security.rst | 0 .../common/io/docs}/transfer.rst | 0 .../common/io/docs}/xcom_backend.rst | 0 .../airflow/providers => }/common/io/provider.yaml | 3 - .../{apache/iceberg => common/io}/pyproject.toml | 34 +- .../io/src/airflow/providers/common/io/LICENSE | 201 ++ .../src/airflow/providers/common/io/__init__.py | 0 .../providers/common/io/assets}/__init__.py | 0 .../providers/common/io/assets/assets}/__init__.py | 0 .../src/airflow/providers/common/io/assets/file.py | 0 .../providers/common/io/get_provider_info.py | 108 + .../providers/common/io/operators}/__init__.py | 0 .../providers/common/io/operators/file_transfer.py | 0 .../airflow/providers/common/io/version_compat.py | 0 .../airflow/providers/common/io/xcom/__init__.py | 0 .../airflow/providers/common/io/xcom/backend.py | 0 .../io/tests/conftest.py} | 17 +- .../io}/tests/provider_tests/__init__.py | 2 - .../io/tests/provider_tests/common}/__init__.py | 2 - .../io/tests/provider_tests/common/io}/__init__.py | 0 .../provider_tests/common/io/assets}/__init__.py | 0 .../provider_tests}/common/io/assets/test_file.py | 0 .../common/io}/operators/__init__.py | 0 .../common/io/operators/test_file_transfer.py | 0 .../provider_tests/common/io/xcom}/__init__.py | 0 .../provider_tests}/common/io/xcom/test_backend.py | 5 +- .../io/tests/system/common/io}/__init__.py | 0 .../common/io/example_file_transfer_local_to_s3.py | 0 providers/common/sql/README.rst | 82 + .../sql/docs}/.latest-doc-only-change.txt | 0 .../sql/docs/changelog.rst} | 2 +- .../common/sql/docs}/commits.rst | 0 .../common/sql/docs}/connections.rst | 0 .../common/sql/docs}/dialects.rst | 0 .../common/sql/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../common/sql/docs/integration-logos}/sql.png | Bin .../common/sql/docs}/operators.rst | 8 +- .../common/sql/docs}/security.rst | 0 .../common/sql/docs}/supported-database-types.rst | 0 .../providers => }/common/sql/provider.yaml | 17 +- providers/{celery => common/sql}/pyproject.toml | 44 +- .../sql/src/airflow/providers/common/sql/LICENSE | 201 ++ .../src/airflow/providers/common/sql/README_API.md | 0 .../src/airflow/providers/common/sql/__init__.py | 0 .../providers/common/sql/dialects}/__init__.py | 0 .../providers/common/sql/dialects/dialect.py | 88 +- .../providers/common/sql/dialects/dialect.pyi | 21 +- .../doc/adr/0001-record-architecture-decisions.md | 0 ...-data-structure-from-dbapihook-derived-hooks.md | 0 ...03-introduce-notion-of-dialects-in-dbapihook.md | 0 .../providers/common/sql/get_provider_info.py | 109 + .../providers/common/sql/get_provider_info.pyi} | 7 +- .../providers/common/sql}/hooks/__init__.py | 0 .../airflow/providers/common/sql/hooks/handlers.py | 0 .../providers/common/sql/hooks/handlers.pyi | 5 +- .../src/airflow/providers/common/sql/hooks/sql.py | 60 +- .../src/airflow/providers/common/sql/hooks/sql.pyi | 33 +- .../providers/common/sql}/operators/__init__.py | 0 .../airflow/providers/common/sql/operators/sql.py | 3 +- .../providers/common/sql}/sensors/__init__.py | 0 .../airflow/providers/common/sql/sensors/sql.py | 0 .../airflow/providers/common/sql/sensors/sql.pyi | 8 +- .../sql/tests/conftest.py} | 17 +- .../sql}/tests/provider_tests/__init__.py | 2 - .../sql/tests/provider_tests/common}/__init__.py | 2 - .../tests/provider_tests/common/sql}/__init__.py | 0 .../common/sql/dialects}/__init__.py | 0 .../common/sql/dialects/test_dialect.py | 151 + .../provider_tests/common/sql/hooks}/__init__.py | 0 .../provider_tests}/common/sql/hooks/test_dbapi.py | 18 +- .../common/sql/hooks/test_handlers.py | 0 .../provider_tests}/common/sql/hooks/test_sql.py | 23 +- .../common/sql/hooks/test_sqlparse.py | 0 .../common/sql/operators}/__init__.py | 0 .../common/sql/operators/test_sql.py | 0 .../common/sql/operators/test_sql_execute.py | 0 .../provider_tests/common/sql/sensors}/__init__.py | 0 .../provider_tests}/common/sql/sensors/test_sql.py | 0 .../sql/tests/system/common/sql}/__init__.py | 0 .../common/sql/example_sql_column_table_check.py | 0 .../system/common/sql/example_sql_execute_query.py | 0 .../common/sql/example_sql_threshold_check.py | 0 providers/datadog/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => datadog/docs/changelog.rst} | 0 .../datadog/docs}/commits.rst | 0 .../datadog/docs}/connections/datadog.rst | 0 .../datadog/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../datadog/docs/integration-logos}/datadog.png | Bin .../datadog/docs}/security.rst | 0 .../airflow/providers => }/datadog/provider.yaml | 6 +- providers/{airbyte => datadog}/pyproject.toml | 25 +- .../datadog/src/airflow/providers/datadog/LICENSE | 201 ++ .../src/airflow/providers/datadog/__init__.py | 0 .../providers/datadog}/get_provider_info.py | 50 +- .../airflow/providers/datadog}/hooks/__init__.py | 0 .../src/airflow/providers/datadog/hooks/datadog.py | 3 +- .../airflow/providers/datadog/sensors}/__init__.py | 0 .../airflow/providers/datadog/sensors/datadog.py | 3 +- .../test_opsgenie.py => datadog/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/datadog}/__init__.py | 0 .../provider_tests/datadog}/hooks/__init__.py | 0 .../provider_tests}/datadog/hooks/test_datadog.py | 0 .../provider_tests/datadog}/sensors/__init__.py | 0 .../datadog/sensors/test_datadog.py | 0 providers/discord/README.rst | 81 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => discord/docs/changelog.rst} | 0 .../discord/docs}/commits.rst | 0 .../discord/docs}/connections/discord-webhook.rst | 0 .../discord/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../discord/docs/integration-logos}/Discord.png | Bin .../discord/docs}/security.rst | 0 .../airflow/providers => }/discord/provider.yaml | 6 +- providers/{airbyte => discord}/pyproject.toml | 25 +- .../discord/src/airflow/providers/discord/LICENSE | 201 ++ .../src/airflow/providers/discord/__init__.py | 0 .../providers/discord}/get_provider_info.py | 55 +- .../airflow/providers/discord}/hooks/__init__.py | 0 .../providers/discord/hooks/discord_webhook.py | 0 .../providers/discord/notifications}/__init__.py | 0 .../providers/discord/notifications/discord.py | 0 .../providers/discord}/operators/__init__.py | 0 .../providers/discord/operators/discord_webhook.py | 0 .../test_opsgenie.py => discord/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/discord}/__init__.py | 0 .../provider_tests/discord}/hooks/__init__.py | 0 .../discord/hooks/test_discord_webhook.py | 0 .../discord/notifications}/__init__.py | 0 .../discord/notifications/test_discord.py | 0 .../provider_tests/discord}/operators/__init__.py | 0 .../discord/operators/test_discord_webhook.py | 0 providers/edge/pyproject.toml | 7 +- providers/edge/tests/provider_tests/__init__.py | 2 - providers/exasol/README.rst | 83 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => exasol/docs/changelog.rst} | 0 .../exasol/docs}/commits.rst | 0 .../exasol/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../exasol/docs/integration-logos}/Exasol.png | Bin .../exasol/docs}/security.rst | 0 .../airflow/providers => }/exasol/provider.yaml | 13 +- providers/{airbyte => exasol}/pyproject.toml | 31 +- .../exasol/src/airflow/providers/exasol/LICENSE | 201 ++ .../src/airflow/providers/exasol/__init__.py | 0 .../airflow/providers/exasol}/get_provider_info.py | 79 +- .../airflow/providers/exasol}/hooks/__init__.py | 0 .../src/airflow/providers/exasol/hooks/exasol.py | 0 .../providers/exasol/operators}/__init__.py | 0 .../airflow/providers/exasol/operators/exasol.py | 0 .../test_opsgenie.py => exasol/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/exasol}/__init__.py | 0 .../tests/provider_tests/exasol}/hooks/__init__.py | 0 .../provider_tests}/exasol/hooks/test_exasol.py | 0 .../tests/provider_tests}/exasol/hooks/test_sql.py | 0 .../provider_tests/exasol/operators}/__init__.py | 0 .../exasol/operators/test_exasol.py | 0 .../exasol/operators/test_exasol_sql.py | 0 .../index.rst => providers/facebook/README.rst | 63 +- .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => facebook/docs/changelog.rst} | 0 .../facebook/docs}/commits.rst | 0 .../facebook/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/Facebook-Ads.png | Bin .../facebook/docs}/security.rst | 0 .../airflow/providers => }/facebook/provider.yaml | 6 +- providers/{airbyte => facebook}/pyproject.toml | 25 +- .../src/airflow/providers/facebook/LICENSE | 201 ++ .../src/airflow/providers/facebook/__init__.py | 0 .../airflow/providers/facebook/ads}/__init__.py | 0 .../providers/facebook/ads/hooks}/__init__.py | 0 .../airflow/providers/facebook/ads/hooks/ads.py | 0 .../providers/facebook}/get_provider_info.py | 56 +- .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/facebook}/__init__.py | 0 .../tests/provider_tests/facebook/ads}/__init__.py | 0 .../provider_tests/facebook/ads/hooks}/__init__.py | 0 .../provider_tests}/facebook/ads/hooks/test_ads.py | 0 providers/hashicorp/README.rst | 81 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => hashicorp/docs/changelog.rst} | 0 .../hashicorp/docs}/commits.rst | 0 .../hashicorp/docs}/connections/vault.rst | 0 .../hashicorp/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/Hashicorp-Vault.png | Bin .../hashicorp/docs}/redirects.txt | 0 .../docs}/secrets-backends/hashicorp-vault.rst | 0 .../hashicorp/docs}/security.rst | 0 .../airflow/providers => }/hashicorp/provider.yaml | 12 +- .../{apache/iceberg => hashicorp}/pyproject.toml | 36 +- .../src/airflow/providers/hashicorp/LICENSE | 201 ++ .../src/airflow/providers/hashicorp/__init__.py | 0 .../hashicorp/_internal_client}/__init__.py | 0 .../hashicorp/_internal_client/vault_client.py | 0 .../providers/hashicorp}/get_provider_info.py | 57 +- .../airflow/providers/hashicorp/hooks}/__init__.py | 0 .../src/airflow/providers/hashicorp/hooks/vault.py | 2 +- .../providers/hashicorp/secrets}/__init__.py | 0 .../airflow/providers/hashicorp/secrets/vault.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/hashicorp}/__init__.py | 0 .../hashicorp/_internal_client}/__init__.py | 0 .../_internal_client/test_vault_client.py | 0 .../provider_tests/hashicorp/hooks}/__init__.py | 0 .../provider_tests}/hashicorp/hooks/test_vault.py | 0 .../provider_tests/hashicorp/secrets}/__init__.py | 0 .../hashicorp/secrets/test_vault.py | 0 providers/http/README.rst | 65 + .../http => http/docs}/.latest-doc-only-change.txt | 0 .../http/CHANGELOG.rst => http/docs/changelog.rst} | 2 +- .../http/docs}/commits.rst | 0 .../http/docs}/connections/http.rst | 0 .../http/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../http/docs/integration-logos}/HTTP.png | Bin .../http/docs}/operators.rst | 18 +- .../http/docs}/security.rst | 0 .../{src/airflow/providers => }/http/provider.yaml | 12 +- providers/{airbyte => http}/pyproject.toml | 29 +- providers/http/src/airflow/providers/http/LICENSE | 201 ++ .../src/airflow/providers/http/__init__.py | 0 .../src/airflow/providers/http/exceptions.py | 0 .../airflow/providers/http/get_provider_info.py | 113 + .../src/airflow/providers/http}/hooks/__init__.py | 0 .../src/airflow/providers/http/hooks/http.py | 0 .../airflow/providers/http/operators}/__init__.py | 0 .../src/airflow/providers/http/operators/http.py | 0 .../airflow/providers/http/sensors}/__init__.py | 0 .../src/airflow/providers/http/sensors/http.py | 0 .../airflow/providers/http/triggers}/__init__.py | 0 .../src/airflow/providers/http/triggers/http.py | 0 .../test_opsgenie.py => http/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/http}/__init__.py | 0 .../tests/provider_tests/http/hooks}/__init__.py | 0 .../tests/provider_tests}/http/hooks/test_http.py | 0 .../provider_tests/http/operators}/__init__.py | 0 .../provider_tests}/http/operators/test_http.py | 0 .../tests/provider_tests/http/sensors}/__init__.py | 0 .../provider_tests}/http/sensors/test_http.py | 0 .../provider_tests/http/triggers}/__init__.py | 0 .../provider_tests}/http/triggers/test_http.py | 0 .../tests/system/http}/__init__.py | 0 .../{ => http}/tests/system/http/example_http.py | 0 providers/imap/README.rst | 61 + .../imap => imap/docs}/.latest-doc-only-change.txt | 0 .../imap/CHANGELOG.rst => imap/docs/changelog.rst} | 0 .../imap/docs}/commits.rst | 0 .../imap/docs}/configurations-ref.rst | 0 .../imap/docs}/connections/imap.rst | 0 .../imap/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../imap/docs/integration-logos}/IMAP.png | Bin .../imap/docs}/security.rst | 0 .../{src/airflow/providers => }/imap/provider.yaml | 5 +- providers/{airbyte => imap}/pyproject.toml | 24 +- providers/imap/src/airflow/providers/imap/LICENSE | 201 ++ .../src/airflow/providers/imap/__init__.py | 0 .../airflow/providers/imap/get_provider_info.py | 95 + .../src/airflow/providers/imap}/hooks/__init__.py | 0 .../src/airflow/providers/imap/hooks/imap.py | 0 .../airflow/providers/imap/sensors}/__init__.py | 0 .../providers/imap/sensors/imap_attachment.py | 0 .../test_opsgenie.py => imap/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/imap}/__init__.py | 0 .../tests/provider_tests/imap}/hooks/__init__.py | 0 .../tests/provider_tests}/imap/hooks/test_imap.py | 0 .../tests/provider_tests/imap/sensors}/__init__.py | 0 .../imap/sensors/test_imap_attachment.py | 0 providers/jenkins/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => jenkins/docs/changelog.rst} | 0 .../jenkins/docs}/commits.rst | 0 .../jenkins/docs}/connections.rst | 0 .../jenkins/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../jenkins/docs/integration-logos}/Jenkins.png | Bin .../jenkins/docs}/security.rst | 0 .../airflow/providers => }/jenkins/provider.yaml | 6 +- providers/{airbyte => jenkins}/pyproject.toml | 25 +- .../jenkins/src/airflow/providers/jenkins/LICENSE | 201 ++ .../src/airflow/providers/jenkins/__init__.py | 0 .../providers/jenkins}/get_provider_info.py | 55 +- .../airflow/providers/jenkins}/hooks/__init__.py | 0 .../src/airflow/providers/jenkins/hooks/jenkins.py | 1 - .../providers/jenkins}/operators/__init__.py | 0 .../jenkins/operators/jenkins_job_trigger.py | 4 +- .../airflow/providers/jenkins/sensors}/__init__.py | 0 .../airflow/providers/jenkins/sensors/jenkins.py | 0 .../test_opsgenie.py => jenkins/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/jenkins}/__init__.py | 0 .../provider_tests/jenkins/hooks}/__init__.py | 0 .../provider_tests}/jenkins/hooks/test_jenkins.py | 0 .../provider_tests/jenkins/operators}/__init__.py | 0 .../jenkins/operators/test_jenkins_job_trigger.py | 0 .../provider_tests/jenkins/sensors}/__init__.py | 0 .../jenkins/sensors/test_jenkins.py | 0 .../tests/system/jenkins}/__init__.py | 0 .../system/jenkins/example_jenkins_job_trigger.py | 0 providers/mongo/README.rst | 63 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => mongo/docs/changelog.rst} | 0 .../mongo/docs}/commits.rst | 0 .../mongo/docs}/connections/mongo.rst | 0 .../mongo/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../mongo/docs/integration-logos}/MongoDB.png | Bin .../mongo/docs}/security.rst | 0 .../airflow/providers => }/mongo/provider.yaml | 10 +- providers/{apache/iceberg => mongo}/pyproject.toml | 30 +- .../mongo/src/airflow/providers/mongo/LICENSE | 201 ++ .../src/airflow/providers/mongo/__init__.py | 0 .../airflow/providers/mongo}/get_provider_info.py | 62 +- .../src/airflow/providers/mongo/hooks}/__init__.py | 0 .../src/airflow/providers/mongo/hooks/mongo.py | 0 .../airflow/providers/mongo/sensors}/__init__.py | 0 .../src/airflow/providers/mongo/sensors/mongo.py | 0 .../test_opsgenie.py => mongo/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/mongo}/__init__.py | 0 .../tests/provider_tests/mongo/hooks}/__init__.py | 0 .../provider_tests}/mongo/hooks/test_mongo.py | 0 .../provider_tests/mongo/sensors}/__init__.py | 0 .../provider_tests}/mongo/sensors/test_mongo.py | 0 .../index.rst => providers/mysql/README.rst | 86 +- .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => mysql/docs/changelog.rst} | 0 .../mysql/docs}/commits.rst | 0 .../mysql/docs}/connections/mysql.rst | 0 .../mysql/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../mysql/docs/integration-logos}/MySQL.png | Bin .../mysql/docs}/operators.rst | 4 +- .../mysql/docs}/redirects.txt | 0 .../mysql/docs}/security.rst | 0 .../airflow/providers => }/mysql/provider.yaml | 17 +- providers/{celery => mysql}/pyproject.toml | 57 +- .../mysql/src/airflow/providers/mysql/LICENSE | 201 ++ .../src/airflow/providers/mysql/__init__.py | 0 .../airflow/providers/mysql/assets}/__init__.py | 0 .../src/airflow/providers/mysql/assets/mysql.py | 0 .../airflow/providers/mysql/get_provider_info.py | 132 + .../src/airflow/providers/mysql/hooks}/__init__.py | 0 .../src/airflow/providers/mysql/hooks/mysql.py | 3 +- .../airflow/providers/mysql/transfers}/__init__.py | 0 .../providers/mysql/transfers/presto_to_mysql.py | 0 .../providers/mysql/transfers/s3_to_mysql.py | 0 .../providers/mysql/transfers/trino_to_mysql.py | 0 .../providers/mysql/transfers/vertica_to_mysql.py | 0 .../test_opsgenie.py => mysql/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/mysql}/__init__.py | 0 .../tests/provider_tests/mysql/assets}/__init__.py | 0 .../provider_tests}/mysql/assets/test_mysql.py | 0 .../tests/provider_tests/mysql}/hooks/__init__.py | 0 .../provider_tests}/mysql/hooks/test_mysql.py | 0 .../mysql/hooks/test_mysql_connector_python.py | 0 .../provider_tests/mysql/transfers}/__init__.py | 0 .../mysql/transfers/test_presto_to_mysql.py | 0 .../mysql/transfers/test_s3_to_mysql.py | 0 .../mysql/transfers/test_trino_to_mysql.py | 0 .../mysql/transfers/test_vertica_to_mysql.py | 0 .../tests/system/mysql}/__init__.py | 0 .../tests/system/mysql/example_mysql.py | 0 providers/neo4j/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => neo4j/docs/changelog.rst} | 0 .../neo4j/docs}/commits.rst | 0 .../neo4j/docs}/connections/neo4j.rst | 0 .../neo4j/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../neo4j/docs}/operators/neo4j.rst | 2 +- .../neo4j/docs}/security.rst | 0 .../airflow/providers => }/neo4j/provider.yaml | 4 - providers/{airbyte => neo4j}/pyproject.toml | 25 +- .../neo4j/src/airflow/providers/neo4j/LICENSE | 201 ++ .../src/airflow/providers/neo4j/README.md | 0 .../src/airflow/providers/neo4j/__init__.py | 0 .../airflow/providers/neo4j}/get_provider_info.py | 47 +- .../src/airflow/providers/neo4j/hooks}/__init__.py | 0 .../src/airflow/providers/neo4j/hooks/neo4j.py | 3 +- .../airflow/providers/neo4j/operators}/__init__.py | 0 .../src/airflow/providers/neo4j/operators/neo4j.py | 0 .../test_opsgenie.py => neo4j/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/neo4j}/__init__.py | 0 .../tests/provider_tests/neo4j/hooks}/__init__.py | 0 .../provider_tests}/neo4j/hooks/test_neo4j.py | 0 .../provider_tests/neo4j/operators}/__init__.py | 0 .../provider_tests}/neo4j/operators/test_neo4j.py | 0 .../tests/system/neo4j}/__init__.py | 0 .../tests/system/neo4j/example_neo4j.py | 0 .../index.rst => providers/odbc/README.rst | 72 +- .../odbc => odbc/docs}/.latest-doc-only-change.txt | 0 .../odbc/CHANGELOG.rst => odbc/docs/changelog.rst} | 0 .../odbc/docs}/commits.rst | 0 .../odbc/docs}/connections/odbc.rst | 0 .../odbc/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../odbc/docs/integration-logos}/ODBC.png | Bin .../odbc/docs}/redirects.txt | 0 .../odbc/docs}/security.rst | 0 .../{src/airflow/providers => }/odbc/provider.yaml | 7 +- providers/{airbyte => odbc}/pyproject.toml | 26 +- providers/odbc/src/airflow/providers/odbc/LICENSE | 201 ++ .../src/airflow/providers/odbc/__init__.py | 0 .../airflow/providers/odbc/get_provider_info.py | 80 + .../src/airflow/providers/odbc/hooks}/__init__.py | 0 .../src/airflow/providers/odbc/hooks/odbc.py | 0 .../test_opsgenie.py => odbc/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/odbc}/__init__.py | 0 .../tests/provider_tests/odbc/hooks}/__init__.py | 0 .../tests/provider_tests}/odbc/hooks/test_odbc.py | 64 +- providers/openai/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => openai/docs/changelog.rst} | 0 .../openai/docs}/commits.rst | 0 .../openai/docs}/connections.rst | 0 .../openai/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../openai/docs}/operators/openai.rst | 4 +- .../openai/docs}/security.rst | 0 .../airflow/providers => }/openai/provider.yaml | 4 - providers/{airbyte => openai}/pyproject.toml | 25 +- .../openai/src/airflow/providers/openai/LICENSE | 201 ++ .../src/airflow/providers/openai/__init__.py | 0 .../src/airflow/providers/openai/exceptions.py | 0 .../airflow/providers/openai}/get_provider_info.py | 34 +- .../airflow/providers/openai/hooks}/__init__.py | 0 .../src/airflow/providers/openai/hooks/openai.py | 0 .../providers/openai/operators}/__init__.py | 0 .../airflow/providers/openai/operators/openai.py | 2 +- .../airflow/providers/openai/triggers}/__init__.py | 0 .../airflow/providers/openai/triggers/openai.py | 0 .../test_opsgenie.py => openai/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/openai}/__init__.py | 0 .../tests/provider_tests/openai/hooks}/__init__.py | 0 .../provider_tests}/openai/hooks/test_openai.py | 9 +- .../provider_tests/openai/operators}/__init__.py | 0 .../openai/operators/test_openai.py | 4 +- .../provider_tests}/openai/test_exceptions.py | 0 .../provider_tests/openai/triggers}/__init__.py | 0 .../provider_tests}/openai/triggers/test_openai.py | 5 +- .../log => openai/tests/system/openai}/__init__.py | 0 .../tests/system/openai/example_openai.py | 0 .../openai/example_trigger_batch_operator.py | 0 providers/openfaas/README.rst | 61 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => openfaas/docs/changelog.rst} | 0 .../openfaas/docs}/commits.rst | 0 .../openfaas/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../openfaas/docs/integration-logos}/OpenFaaS.png | Bin .../openfaas/docs}/security.rst | 0 .../airflow/providers => }/openfaas/provider.yaml | 5 +- providers/{airbyte => openfaas}/pyproject.toml | 24 +- .../src/airflow/providers/openfaas/LICENSE | 201 ++ .../src/airflow/providers/openfaas/__init__.py | 0 .../providers/openfaas}/get_provider_info.py | 46 +- .../airflow/providers/openfaas}/hooks/__init__.py | 0 .../airflow/providers/openfaas/hooks/openfaas.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/openfaas}/__init__.py | 0 .../provider_tests/openfaas/hooks}/__init__.py | 0 .../openfaas/hooks/test_openfaas.py | 0 .../index.rst => providers/openlineage/README.rst | 92 +- .../docs}/.latest-doc-only-change.txt | 0 .../docs/changelog.rst} | 0 .../openlineage/docs}/commits.rst | 0 .../openlineage/docs}/configurations-ref.rst | 0 .../openlineage/docs}/guides/developer.rst | 2 +- .../openlineage/docs}/guides/structure.rst | 0 .../openlineage/docs}/guides/user.rst | 0 .../openlineage/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/openlineage.svg | 0 .../openlineage/docs}/macros.rst | 0 .../openlineage/docs}/security.rst | 0 .../openlineage/docs}/supported_classes.rst | 0 .../providers => }/openlineage/provider.yaml | 10 +- providers/{edge => openlineage}/pyproject.toml | 34 +- .../src/airflow/providers/openlineage/LICENSE | 201 ++ .../src/airflow/providers/openlineage/__init__.py | 0 .../src/airflow/providers/openlineage/conf.py | 0 .../providers/openlineage/extractors/__init__.py | 0 .../providers/openlineage/extractors/base.py | 4 +- .../providers/openlineage/extractors/bash.py | 3 +- .../providers/openlineage/extractors/manager.py | 8 +- .../providers/openlineage/extractors/python.py | 3 +- .../openlineage/facets/AirflowDagRunFacet.json | 0 .../openlineage/facets/AirflowDebugRunFacet.json | 0 .../openlineage/facets/AirflowJobFacet.json | 0 .../openlineage/facets/AirflowRunFacet.json | 0 .../openlineage/facets/AirflowStateRunFacet.json | 0 .../providers/openlineage/facets}/__init__.py | 0 .../providers/openlineage/get_provider_info.py | 192 ++ .../providers/openlineage/plugins}/__init__.py | 0 .../providers/openlineage/plugins/adapter.py | 20 +- .../providers/openlineage/plugins/facets.py | 1 + .../providers/openlineage/plugins/listener.py | 2 +- .../providers/openlineage/plugins/macros.py | 0 .../providers/openlineage/plugins/openlineage.py | 0 .../src/airflow/providers/openlineage/sqlparser.py | 8 +- .../providers/openlineage/utils}/__init__.py | 0 .../openlineage/utils/selective_enable.py | 0 .../airflow/providers/openlineage/utils/spark.py | 0 .../src/airflow/providers/openlineage/utils/sql.py | 3 +- .../airflow/providers/openlineage/utils/utils.py | 7 +- .../providers/openlineage/version_compat.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/openlineage}/__init__.py | 0 .../openlineage/extractors}/__init__.py | 0 .../openlineage/extractors/test_base.py | 2 +- .../openlineage/extractors/test_bash.py | 0 .../openlineage/extractors/test_manager.py | 2 +- .../openlineage/extractors/test_python.py | 0 .../provider_tests}/openlineage/log_config.py | 0 .../openlineage/plugins}/__init__.py | 0 .../plugins/openlineage_configs}/__init__.py | 0 .../plugins/openlineage_configs/http.yaml | 0 .../openlineage/plugins/test_adapter.py | 0 .../openlineage/plugins/test_execution.py | 0 .../openlineage/plugins/test_facets.py | 0 .../openlineage/plugins/test_listener.py | 0 .../openlineage/plugins/test_macros.py | 0 .../openlineage/plugins/test_openlineage.py | 0 .../openlineage/plugins/test_utils.py | 0 .../tests/provider_tests}/openlineage/test_conf.py | 0 .../provider_tests}/openlineage/test_sqlparser.py | 0 .../provider_tests/openlineage/utils}/__init__.py | 0 .../openlineage/utils/custom_facet_fixture.py | 0 .../openlineage/utils/test_selective_enable.py | 0 .../openlineage/utils/test_spark.py | 0 .../provider_tests}/openlineage/utils/test_sql.py | 0 .../openlineage/utils/test_utils.py | 20 +- .../tests/system/openlineage}/__init__.py | 0 .../tests/system/openlineage/conftest.py | 0 .../system/openlineage/example_openlineage.json | 0 .../system/openlineage/example_openlineage.py | 4 +- .../example_openlineage_mapped_sensor.json | 0 .../example_openlineage_mapped_sensor.py | 4 +- .../tests/system/openlineage/operator.py | 0 .../system/openlineage/transport}/__init__.py | 0 .../tests/system/openlineage/transport/variable.py | 3 +- providers/opsgenie/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => opsgenie/docs/changelog.rst} | 0 .../opsgenie/docs}/commits.rst | 0 .../opsgenie/docs}/connections.rst | 0 .../opsgenie/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../opsgenie/docs/integration-logos}/Opsgenie.png | Bin .../opsgenie/docs}/notifications/index.rst | 0 .../docs}/notifications/opsgenie_notifier.rst | 2 +- .../opsgenie/docs}/operators/index.rst | 0 .../opsgenie/docs}/operators/opsgenie_alert.rst | 6 +- .../opsgenie/docs}/security.rst | 0 .../airflow/providers => }/opsgenie/provider.yaml | 6 +- providers/{airbyte => opsgenie}/pyproject.toml | 25 +- .../src/airflow/providers/opsgenie/LICENSE | 201 ++ .../src/airflow/providers/opsgenie/__init__.py | 0 .../providers/opsgenie}/get_provider_info.py | 70 +- .../airflow/providers/opsgenie}/hooks/__init__.py | 0 .../airflow/providers/opsgenie/hooks/opsgenie.py | 0 .../providers/opsgenie/notifications}/__init__.py | 0 .../providers/opsgenie/notifications/opsgenie.py | 0 .../providers/opsgenie}/operators/__init__.py | 0 .../providers/opsgenie/operators/opsgenie.py | 0 .../airflow/providers/opsgenie/typing}/__init__.py | 0 .../airflow/providers/opsgenie/typing/opsgenie.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/opsgenie}/__init__.py | 0 .../provider_tests/opsgenie/hooks}/__init__.py | 0 .../opsgenie/hooks/test_opsgenie.py | 0 .../opsgenie/notifications}/__init__.py | 0 .../opsgenie/notifications/test_opsgenie.py | 0 .../provider_tests/opsgenie/operators}/__init__.py | 0 .../opsgenie/operators/test_opsgenie.py | 0 .../provider_tests/opsgenie/typing}/__init__.py | 0 .../opsgenie/typing/test_opsgenie.py | 0 .../tests/system/opsgenie}/__init__.py | 0 .../system/opsgenie/example_opsgenie_alert.py | 0 .../system/opsgenie/example_opsgenie_notifier.py | 0 providers/pagerduty/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => pagerduty/docs/changelog.rst} | 0 .../pagerduty/docs}/commits.rst | 0 .../pagerduty/docs}/connections/index.rst | 0 .../pagerduty/docs}/connections/pagerdurty.rst | 0 .../docs}/connections/pagerduty-events.rst | 0 .../pagerduty/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/PagerDuty.png | Bin .../pagerduty_notifier_howto_guide.rst | 0 .../pagerduty/docs}/security.rst | 0 .../airflow/providers => }/pagerduty/provider.yaml | 6 +- providers/{airbyte => pagerduty}/pyproject.toml | 25 +- .../src/airflow/providers/pagerduty/LICENSE | 201 ++ .../src/airflow/providers/pagerduty/__init__.py | 0 .../providers/pagerduty}/get_provider_info.py | 56 +- .../airflow/providers/pagerduty}/hooks/__init__.py | 0 .../airflow/providers/pagerduty/hooks/pagerduty.py | 0 .../providers/pagerduty/hooks/pagerduty_events.py | 0 .../providers/pagerduty/notifications}/__init__.py | 0 .../providers/pagerduty/notifications/pagerduty.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/pagerduty}/__init__.py | 0 .../provider_tests/pagerduty/hooks}/__init__.py | 0 .../pagerduty/hooks/test_pagerduty.py | 0 .../pagerduty/hooks/test_pagerduty_events.py | 0 .../pagerduty/notifications}/__init__.py | 0 .../pagerduty/notifications/test_pagerduty.py | 0 providers/papermill/README.rst | 84 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => papermill/docs/changelog.rst} | 2 +- .../papermill/docs}/commits.rst | 0 .../papermill/docs}/connections/index.rst | 0 .../papermill/docs}/connections/jupyter_kernel.rst | 0 .../papermill/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/Papermill.png | Bin .../papermill/docs}/operators.rst | 6 +- .../papermill/docs}/security.rst | 0 .../airflow/providers => }/papermill/provider.yaml | 9 +- .../{apache/iceberg => papermill}/pyproject.toml | 35 +- .../src/airflow/providers/papermill/LICENSE | 201 ++ .../src/airflow/providers/papermill/__init__.py | 0 .../providers/papermill}/get_provider_info.py | 67 +- .../airflow/providers/papermill/hooks}/__init__.py | 0 .../airflow/providers/papermill/hooks/kernel.py | 6 +- .../providers/papermill/operators}/__init__.py | 0 .../providers/papermill/operators/papermill.py | 8 +- .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/papermill}/__init__.py | 0 .../provider_tests/papermill/hooks}/__init__.py | 0 .../provider_tests}/papermill/hooks/test_kernel.py | 0 .../papermill/operators}/__init__.py | 0 .../papermill/operators/test_papermill.py | 0 .../tests/system/papermill}/__init__.py | 0 .../tests/system/papermill/conftest.py | 0 .../tests/system/papermill/example_papermill.py | 0 .../papermill/example_papermill_remote_verify.py | 0 .../system/papermill/example_papermill_verify.py | 0 .../tests/system/papermill/input_notebook.ipynb | 0 providers/pgvector/README.rst | 83 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => pgvector/docs/changelog.rst} | 0 .../pgvector/docs}/commits.rst | 0 .../pgvector/docs}/connections.rst | 0 .../pgvector/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../pgvector/docs}/operators/pgvector.rst | 2 +- .../pgvector/docs}/security.rst | 0 .../airflow/providers => }/pgvector/provider.yaml | 7 - .../{apache/iceberg => pgvector}/pyproject.toml | 35 +- .../src/airflow/providers/pgvector/LICENSE | 201 ++ .../src/airflow/providers/pgvector/__init__.py | 0 .../providers/pgvector}/get_provider_info.py | 35 +- .../airflow/providers/pgvector/hooks/__init__.py | 0 .../airflow/providers/pgvector/hooks/pgvector.py | 0 .../providers/pgvector/operators/__init__.py | 0 .../providers/pgvector/operators/pgvector.py | 3 +- .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/pgvector}/__init__.py | 0 .../provider_tests/pgvector/hooks}/__init__.py | 0 .../pgvector/hooks/test_pgvector.py | 0 .../provider_tests/pgvector/operators}/__init__.py | 0 .../pgvector/operators/test_pgvector.py | 0 .../tests/system/pgvector}/__init__.py | 0 .../tests/system/pgvector/example_pgvector.py | 0 .../system/pgvector/example_pgvector_openai.py | 0 providers/pinecone/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => pinecone/docs/changelog.rst} | 0 .../pinecone/docs}/commits.rst | 0 .../pinecone/docs}/connections.rst | 0 .../pinecone/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../pinecone/docs}/operators/pinecone.rst | 6 +- .../pinecone/docs}/security.rst | 0 .../airflow/providers => }/pinecone/provider.yaml | 4 - providers/{airbyte => pinecone}/pyproject.toml | 25 +- .../src/airflow/providers/pinecone/LICENSE | 201 ++ .../src/airflow/providers/pinecone/__init__.py | 0 .../providers/pinecone}/get_provider_info.py | 32 +- .../airflow/providers/pinecone/hooks}/__init__.py | 0 .../airflow/providers/pinecone/hooks/pinecone.py | 6 +- .../providers/pinecone/operators}/__init__.py | 0 .../providers/pinecone/operators/pinecone.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/pinecone}/__init__.py | 0 .../provider_tests/pinecone/hooks}/__init__.py | 0 .../pinecone/hooks/test_pinecone.py | 0 .../provider_tests/pinecone/operators}/__init__.py | 0 .../pinecone/operators/test_pinecone.py | 0 .../tests/system/pinecone}/__init__.py | 0 .../system/pinecone/example_create_pod_index.py | 0 .../pinecone/example_create_serverless_index.py | 0 .../tests/system/pinecone/example_dag_pinecone.py | 0 .../system/pinecone/example_pinecone_cohere.py | 0 .../system/pinecone/example_pinecone_openai.py | 0 providers/postgres/README.rst | 85 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => postgres/docs/changelog.rst} | 0 .../postgres/docs}/commits.rst | 0 .../postgres/docs}/connections/postgres.rst | 0 .../postgres/docs}/dialects.rst | 0 .../postgres/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../postgres/docs/integration-logos}/Postgres.png | Bin .../operators/postgres_operator_howto_guide.rst | 6 +- .../postgres/docs}/redirects.txt | 0 .../postgres/docs}/security.rst | 0 .../airflow/providers => }/postgres/provider.yaml | 13 +- .../{apache/iceberg => postgres}/pyproject.toml | 37 +- .../src/airflow/providers/postgres/LICENSE | 201 ++ .../src/airflow/providers/postgres/__init__.py | 0 .../airflow/providers/postgres/assets}/__init__.py | 0 .../airflow/providers/postgres/assets/postgres.py | 0 .../providers/postgres/dialects}/__init__.py | 0 .../providers/postgres/dialects/postgres.py | 6 +- .../providers/postgres/get_provider_info.py | 125 + .../airflow/providers/postgres/hooks}/__init__.py | 0 .../airflow/providers/postgres/hooks/postgres.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/postgres}/__init__.py | 0 .../provider_tests/postgres/assets}/__init__.py | 0 .../postgres/assets/test_postgres.py | 0 .../provider_tests/postgres/dialects}/__init__.py | 0 .../postgres/dialects/test_postgres.py | 35 +- .../provider_tests/postgres/hooks}/__init__.py | 0 .../postgres/hooks/test_postgres.py | 0 .../tests/system/postgres}/__init__.py | 0 .../tests/system/postgres/example_postgres.py | 0 providers/presto/README.rst | 84 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => presto/docs/changelog.rst} | 0 .../presto/docs}/commits.rst | 0 .../presto/docs}/connections.rst | 0 .../presto/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../presto/docs/integration-logos}/PrestoDB.png | Bin .../docs}/operators/transfer/gcs_to_presto.rst | 2 +- .../presto/docs}/security.rst | 0 .../airflow/providers => }/presto/provider.yaml | 13 +- providers/{celery => presto}/pyproject.toml | 42 +- .../presto/src/airflow/providers/presto/LICENSE | 201 ++ .../src/airflow/providers/presto/__init__.py | 0 .../airflow/providers/presto/get_provider_info.py | 101 + .../airflow/providers/presto}/hooks/__init__.py | 0 .../src/airflow/providers/presto/hooks/presto.py | 0 .../providers/presto/transfers}/__init__.py | 0 .../providers/presto/transfers/gcs_to_presto.py | 0 .../src/airflow/providers/presto/version_compat.py | 0 .../test_opsgenie.py => presto/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/presto}/__init__.py | 0 .../tests/provider_tests/presto/hooks}/__init__.py | 0 .../provider_tests}/presto/hooks/test_presto.py | 0 .../provider_tests/presto/transfers}/__init__.py | 0 .../presto/transfers/test_gcs_to_presto.py | 0 .../log => presto/tests/system/presto}/__init__.py | 0 .../tests/system/presto/example_gcs_to_presto.py | 0 providers/qdrant/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => qdrant/docs/changelog.rst} | 0 .../qdrant/docs}/commits.rst | 0 .../qdrant/docs}/connections.rst | 0 .../qdrant/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../qdrant/docs}/operators/qdrant.rst | 2 +- .../qdrant/docs}/security.rst | 0 .../airflow/providers => }/qdrant/provider.yaml | 4 - providers/{airbyte => qdrant}/pyproject.toml | 25 +- .../qdrant/src/airflow/providers/qdrant/LICENSE | 201 ++ .../src/airflow/providers/qdrant/__init__.py | 0 .../airflow/providers/qdrant}/get_provider_info.py | 31 +- .../airflow/providers/qdrant/hooks}/__init__.py | 0 .../src/airflow/providers/qdrant/hooks/qdrant.py | 0 .../providers/qdrant/operators}/__init__.py | 0 .../airflow/providers/qdrant/operators/qdrant.py | 0 .../test_opsgenie.py => qdrant/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/qdrant}/__init__.py | 0 .../tests/provider_tests/qdrant/hooks}/__init__.py | 0 .../provider_tests}/qdrant/hooks/test_qdrant.py | 4 +- .../provider_tests/qdrant/operators}/__init__.py | 0 .../qdrant/operators/test_qdrant.py | 5 +- .../log => qdrant/tests/system/qdrant}/__init__.py | 0 .../tests/system/qdrant/example_dag_qdrant.py | 0 providers/samba/README.rst | 81 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => samba/docs/changelog.rst} | 0 .../samba/docs}/commits.rst | 0 .../samba/docs}/connections.rst | 0 .../samba/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../samba/docs/integration-logos}/Samba.png | Bin .../samba/docs}/security.rst | 0 .../samba/docs}/transfer/gcs_to_samba.rst | 8 +- .../airflow/providers => }/samba/provider.yaml | 6 +- providers/{apache/iceberg => samba}/pyproject.toml | 32 +- .../samba/src/airflow/providers/samba/LICENSE | 201 ++ .../src/airflow/providers/samba/__init__.py | 0 .../airflow/providers/samba/get_provider_info.py | 76 + .../src/airflow/providers/samba/hooks}/__init__.py | 0 .../src/airflow/providers/samba/hooks/samba.py | 0 .../airflow/providers/samba/transfers}/__init__.py | 0 .../providers/samba/transfers/gcs_to_samba.py | 0 .../test_opsgenie.py => samba/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/samba}/__init__.py | 0 .../tests/provider_tests/samba/hooks}/__init__.py | 0 .../provider_tests}/samba/hooks/test_samba.py | 0 .../provider_tests/samba/transfers}/__init__.py | 0 .../samba/transfers/test_gcs_to_samba.py | 0 .../log => samba/tests/system/samba}/__init__.py | 0 .../tests/system/samba/example_gcs_to_samba.py | 0 .../index.rst => providers/segment/README.rst | 63 +- .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => segment/docs/changelog.rst} | 0 .../segment/docs}/commits.rst | 0 .../segment/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../segment/docs/integration-logos}/Segment.png | Bin .../segment/docs}/security.rst | 0 .../airflow/providers => }/segment/provider.yaml | 6 +- providers/{airbyte => segment}/pyproject.toml | 25 +- .../segment/src/airflow/providers/segment/LICENSE | 201 ++ .../src/airflow/providers/segment/__init__.py | 0 .../providers/segment}/get_provider_info.py | 51 +- .../airflow/providers/segment/hooks}/__init__.py | 0 .../src/airflow/providers/segment/hooks/segment.py | 0 .../providers/segment/operators}/__init__.py | 0 .../segment/operators/segment_track_event.py | 0 .../test_opsgenie.py => segment/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/segment}/__init__.py | 0 .../provider_tests/segment/hooks}/__init__.py | 0 .../provider_tests}/segment/hooks/test_segment.py | 0 .../provider_tests/segment/operators}/__init__.py | 0 .../segment/operators/test_segment_track_event.py | 0 .../index.rst => providers/sftp/README.rst | 79 +- .../sftp => sftp/docs}/.latest-doc-only-change.txt | 0 .../sftp/CHANGELOG.rst => sftp/docs/changelog.rst} | 4 +- .../sftp/docs}/commits.rst | 0 .../sftp/docs}/connections/sftp.rst | 0 .../sftp/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../sftp/docs/integration-logos}/SFTP.png | Bin .../sftp/docs}/security.rst | 0 .../sftp/docs}/sensors/sftp_sensor.rst | 6 +- .../{src/airflow/providers => }/sftp/provider.yaml | 8 +- providers/{apache/iceberg => sftp}/pyproject.toml | 37 +- providers/sftp/src/airflow/providers/sftp/LICENSE | 201 ++ .../src/airflow/providers/sftp/__init__.py | 0 .../airflow/providers/sftp/decorators}/__init__.py | 0 .../providers/sftp/decorators/sensors}/__init__.py | 0 .../providers/sftp/decorators/sensors/sftp.py | 0 .../airflow/providers/sftp/get_provider_info.py | 128 + .../src/airflow/providers/sftp/hooks}/__init__.py | 0 .../src/airflow/providers/sftp/hooks/sftp.py | 0 .../airflow/providers/sftp/operators}/__init__.py | 0 .../src/airflow/providers/sftp/operators/sftp.py | 0 .../airflow/providers/sftp/sensors}/__init__.py | 0 .../src/airflow/providers/sftp/sensors/sftp.py | 0 .../airflow/providers/sftp/triggers}/__init__.py | 0 .../src/airflow/providers/sftp/triggers/sftp.py | 0 .../test_opsgenie.py => sftp/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/sftp}/__init__.py | 0 .../provider_tests/sftp/decorators}/__init__.py | 0 .../sftp/decorators/sensors}/__init__.py | 0 .../sftp/decorators/sensors/test_sftp.py | 0 .../tests/provider_tests/sftp/hooks}/__init__.py | 0 .../tests/provider_tests}/sftp/hooks/test_sftp.py | 0 .../provider_tests/sftp/operators}/__init__.py | 0 .../provider_tests}/sftp/operators/test_sftp.py | 0 .../tests/provider_tests/sftp/sensors}/__init__.py | 0 .../provider_tests}/sftp/sensors/test_sftp.py | 0 .../provider_tests/sftp/triggers}/__init__.py | 0 .../provider_tests}/sftp/triggers/test_sftp.py | 0 .../log => sftp/tests/system/sftp}/__init__.py | 0 .../tests/system/sftp/example_sftp_sensor.py | 0 providers/singularity/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../docs/changelog.rst} | 0 .../singularity/docs}/commits.rst | 0 .../singularity/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/Singularity.png | Bin .../singularity/docs}/security.rst | 0 .../providers => }/singularity/provider.yaml | 6 +- providers/{airbyte => singularity}/pyproject.toml | 25 +- .../src/airflow/providers/singularity/LICENSE | 201 ++ .../src/airflow/providers/singularity/__init__.py | 0 .../providers/singularity}/get_provider_info.py | 51 +- .../providers/singularity/operators}/__init__.py | 0 .../providers/singularity/operators/singularity.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/singularity}/__init__.py | 0 .../singularity/operators}/__init__.py | 0 .../singularity/operators/test_singularity.py | 0 .../tests/system/singularity}/__init__.py | 0 .../system/singularity/example_singularity.py | 0 .../index.rst => providers/snowflake/README.rst | 96 +- .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => snowflake/docs/changelog.rst} | 0 .../snowflake/docs}/commits.rst | 0 .../snowflake/docs}/connections/snowflake.rst | 0 .../snowflake/docs}/decorators/index.rst | 0 .../snowflake/docs}/decorators/snowpark.rst | 2 +- .../snowflake/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../docs/integration-logos}/Snowflake.png | Bin .../docs}/operators/copy_into_snowflake.rst | 2 +- .../snowflake/docs}/operators/index.rst | 0 .../snowflake/docs}/operators/snowflake.rst | 4 +- .../snowflake/docs}/operators/snowpark.rst | 2 +- .../snowflake/docs}/security.rst | 0 .../airflow/providers => }/snowflake/provider.yaml | 16 +- providers/{celery => snowflake}/pyproject.toml | 46 +- .../src/airflow/providers/snowflake/LICENSE | 201 ++ .../src/airflow/providers/snowflake/__init__.py | 0 .../providers/snowflake/decorators}/__init__.py | 0 .../providers/snowflake/decorators/snowpark.py | 0 .../providers/snowflake/get_provider_info.py | 164 + .../airflow/providers/snowflake/hooks}/__init__.py | 0 .../airflow/providers/snowflake/hooks/snowflake.py | 11 +- .../providers/snowflake/hooks/snowflake_sql_api.py | 0 .../providers/snowflake/operators}/__init__.py | 0 .../providers/snowflake/operators/snowflake.py | 2 +- .../providers/snowflake/operators/snowpark.py | 0 .../providers/snowflake/transfers}/__init__.py | 0 .../snowflake/transfers/copy_into_snowflake.py | 0 .../providers/snowflake/triggers}/__init__.py | 0 .../snowflake/triggers/snowflake_trigger.py | 0 .../airflow/providers/snowflake/utils}/__init__.py | 0 .../airflow/providers/snowflake/utils/common.py | 0 .../providers/snowflake/utils/openlineage.py | 0 .../airflow/providers/snowflake/utils/snowpark.py | 0 .../snowflake/utils/sql_api_generate_jwt.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/snowflake}/__init__.py | 0 .../snowflake/decorators}/__init__.py | 0 .../snowflake/decorators/test_snowpark.py | 0 .../provider_tests/snowflake/hooks}/__init__.py | 0 .../snowflake/hooks/test_snowflake.py | 0 .../snowflake/hooks/test_snowflake_sql_api.py | 0 .../provider_tests}/snowflake/hooks/test_sql.py | 0 .../snowflake/operators}/__init__.py | 0 .../snowflake/operators/test_snowflake.py | 0 .../snowflake/operators/test_snowflake_sql.py | 21 +- .../snowflake/operators/test_snowpark.py | 0 .../snowflake/transfers}/__init__.py | 0 .../transfers/test_copy_into_snowflake.py | 0 .../provider_tests/snowflake/triggers}/__init__.py | 0 .../snowflake/triggers/test_snowflake.py | 0 .../provider_tests/snowflake/utils}/__init__.py | 0 .../provider_tests}/snowflake/utils/test_common.py | 0 .../snowflake/utils/test_openlineage.py | 0 .../snowflake/utils/test_snowpark.py | 0 .../snowflake/utils/test_sql_api_generate_jwt.py | 0 .../tests/system/snowflake}/__init__.py | 0 .../snowflake/example_copy_into_snowflake.py | 0 .../tests/system/snowflake/example_snowflake.py | 0 ...xample_snowflake_snowflake_op_template_file.sql | 0 .../system/snowflake/example_snowpark_decorator.py | 0 .../system/snowflake/example_snowpark_operator.py | 0 .../amazon/aws/auth_manager/avp/facade.py | 5 +- .../amazon/aws/auth_manager/aws_auth_manager.py | 98 +- .../providers/amazon/aws/links/comprehend.py} | 41 +- .../providers/amazon/aws/operators/comprehend.py | 36 + .../src/airflow/providers/amazon/provider.yaml | 3 + .../airflow/providers/apache/livy/hooks/livy.py | 13 +- .../airflow/providers/cncf/kubernetes/callbacks.py | 95 +- .../providers/cncf/kubernetes/operators/pod.py | 116 +- .../providers/cncf/kubernetes/utils/pod_manager.py | 12 +- .../airflow/providers/common/sql/operators/sql.pyi | 256 -- .../providers/databricks/operators/databricks.py | 23 +- .../databricks/operators/databricks_workflow.py | 10 + .../providers/fab/auth_manager/fab_auth_manager.py | 53 +- .../providers/fab/www/api_connexion/security.py | 4 +- .../fab/www/extensions/init_appbuilder.py | 3 +- .../fab/www/extensions/init_jinja_globals.py | 4 +- providers/src/airflow/providers/fab/www/views.py | 2 +- .../google/cloud/sensors/cloud_composer.py | 40 +- .../google/cloud/triggers/cloud_composer.py | 14 +- .../providers/microsoft/azure/hooks/msgraph.py | 83 +- .../providers/microsoft/azure/operators/msgraph.py | 4 + .../providers/microsoft/azure/operators/powerbi.py | 39 +- .../providers/microsoft/azure/sensors/msgraph.py | 4 + .../providers/microsoft/azure/triggers/msgraph.py | 4 + .../providers/microsoft/azure/triggers/powerbi.py | 66 +- .../providers/microsoft/mssql/dialects/mssql.py | 8 +- .../providers/microsoft/mssql/hooks/mssql.py | 2 +- .../providers/salesforce/hooks/salesforce.py | 4 + providers/src/airflow/providers/smtp/hooks/smtp.py | 47 +- .../airflow/providers/smtp/notifications/smtp.py | 61 +- .../src/airflow/providers/smtp/operators/smtp.py | 34 +- .../index.rst => providers/ssh/README.rst | 70 +- .../ssh => ssh/docs}/.latest-doc-only-change.txt | 0 .../ssh/CHANGELOG.rst => ssh/docs/changelog.rst} | 0 .../ssh/docs}/commits.rst | 0 .../ssh/docs}/connections/ssh.rst | 0 .../ssh/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../ssh/docs/integration-logos}/SSH.png | Bin .../ssh/docs}/security.rst | 0 .../{src/airflow/providers => }/ssh/provider.yaml | 7 +- providers/{airbyte => ssh}/pyproject.toml | 26 +- providers/ssh/src/airflow/providers/ssh/LICENSE | 201 ++ .../src/airflow/providers/ssh/__init__.py | 0 .../airflow/providers/ssh}/get_provider_info.py | 67 +- .../src/airflow/providers/ssh/hooks}/__init__.py | 0 .../src/airflow/providers/ssh/hooks/ssh.py | 0 .../airflow/providers/ssh/operators}/__init__.py | 0 .../src/airflow/providers/ssh/operators/ssh.py | 0 .../test_opsgenie.py => ssh/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../ssh/tests/provider_tests/ssh}/__init__.py | 0 .../tests/provider_tests/ssh/hooks}/__init__.py | 0 .../tests/provider_tests}/ssh/hooks/test_ssh.py | 0 .../provider_tests/ssh/operators}/__init__.py | 0 .../provider_tests}/ssh/operators/test_ssh.py | 0 .../index.rst => providers/standard/README.rst | 68 +- .../CHANGELOG.rst => standard/docs/changelog.rst} | 0 .../standard/docs}/commits.rst | 0 .../standard/docs}/configurations-ref.rst | 0 .../standard/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../standard/docs}/operators/bash.rst | 0 .../standard/docs}/operators/datetime.rst | 0 .../standard/docs}/operators/index.rst | 0 .../standard/docs}/operators/python.rst | 0 .../standard/docs}/security.rst | 0 .../standard/docs}/sensors/bash.rst | 0 .../standard/docs}/sensors/datetime.rst | 0 .../docs}/sensors/external_task_sensor.rst | 0 .../standard/docs}/sensors/file.rst | 0 .../standard/docs}/sensors/index.rst | 0 .../standard/docs}/sensors/python.rst | 0 .../airflow/providers => }/standard/provider.yaml | 4 - providers/{airbyte => standard}/pyproject.toml | 25 +- .../src/airflow/providers/standard/LICENSE | 201 ++ .../src/airflow/providers/standard/__init__.py | 0 .../providers/standard/get_provider_info.py | 108 + .../airflow/providers/standard/hooks}/__init__.py | 0 .../airflow/providers/standard/hooks/filesystem.py | 0 .../providers/standard/hooks/package_index.py | 0 .../airflow/providers/standard/hooks/subprocess.py | 0 .../providers/standard/operators}/__init__.py | 0 .../airflow/providers/standard/operators/bash.py | 0 .../providers/standard/operators/datetime.py | 0 .../standard/operators/generic_transfer.py | 0 .../providers/standard/operators/latest_only.py | 0 .../airflow/providers/standard/operators/python.py | 0 .../providers/standard/operators/trigger_dagrun.py | 0 .../providers/standard/operators/weekday.py | 0 .../providers/standard/sensors}/__init__.py | 0 .../src/airflow/providers/standard/sensors/bash.py | 0 .../providers/standard/sensors/date_time.py | 0 .../providers/standard/sensors/external_task.py | 0 .../providers/standard/sensors/filesystem.py | 0 .../airflow/providers/standard/sensors/python.py | 0 .../src/airflow/providers/standard/sensors/time.py | 0 .../providers/standard/sensors/time_delta.py | 0 .../airflow/providers/standard/sensors/weekday.py | 0 .../providers/standard/triggers}/__init__.py | 0 .../providers/standard/triggers/external_task.py | 0 .../airflow/providers/standard/triggers/file.py | 0 .../providers/standard/triggers/temporal.py | 0 .../airflow/providers/standard/utils}/__init__.py | 0 .../providers/standard/utils/python_virtualenv.py | 5 +- .../standard/utils/python_virtualenv_script.jinja2 | 0 .../providers/standard/utils/sensor_helper.py | 0 .../airflow/providers/standard/version_compat.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/standard}/__init__.py | 0 .../standard/decorators}/__init__.py | 0 .../standard}/decorators/test_python.py | 39 +- .../provider_tests/standard/hooks}/__init__.py | 0 .../standard/hooks/test_filesystem.py | 0 .../standard/hooks/test_package_index.py | 0 .../standard/hooks/test_subprocess.py | 0 .../provider_tests/standard/operators}/__init__.py | 0 .../standard/operators/test_bash.py | 0 .../standard/operators/test_datetime.py | 0 .../standard/operators/test_generic_transfer.py | 0 .../operators/test_latest_only_operator.py | 0 .../standard/operators/test_python.py | 5 +- .../standard/operators/test_weekday.py | 0 .../provider_tests/standard/sensors}/__init__.py | 0 .../provider_tests}/standard/sensors/test_bash.py | 0 .../standard/sensors/test_date_time.py | 0 .../standard/sensors/test_python.py | 3 +- .../provider_tests}/standard/sensors/test_time.py | 0 .../standard/sensors/test_time_delta.py | 0 .../standard/sensors/test_weekday.py | 0 .../provider_tests/standard/triggers}/__init__.py | 0 .../standard/triggers/test_external_task.py | 0 .../provider_tests}/standard/triggers/test_file.py | 0 .../standard/triggers/test_temporal.py | 0 .../provider_tests/standard/utils}/__init__.py | 0 .../standard/utils/test_python_virtualenv.py | 0 providers/tableau/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => tableau/docs/changelog.rst} | 0 .../tableau/docs}/commits.rst | 0 .../tableau/docs}/connections/tableau.rst | 0 .../tableau/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../tableau/docs/integration-logos}/tableau.png | Bin .../tableau/docs}/operators.rst | 2 +- .../tableau/docs}/security.rst | 0 .../airflow/providers => }/tableau/provider.yaml | 6 +- providers/{airbyte => tableau}/pyproject.toml | 23 +- .../tableau/src/airflow/providers/tableau/LICENSE | 201 ++ .../src/airflow/providers/tableau/__init__.py | 0 .../providers/tableau}/get_provider_info.py | 65 +- .../airflow/providers/tableau/hooks}/__init__.py | 0 .../src/airflow/providers/tableau/hooks/tableau.py | 0 .../providers/tableau/operators}/__init__.py | 0 .../airflow/providers/tableau/operators/tableau.py | 0 .../airflow/providers/tableau/sensors}/__init__.py | 0 .../airflow/providers/tableau/sensors/tableau.py | 0 .../test_opsgenie.py => tableau/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/tableau}/__init__.py | 0 .../provider_tests/tableau/hooks}/__init__.py | 0 .../provider_tests}/tableau/hooks/test_tableau.py | 0 .../provider_tests/tableau/operators}/__init__.py | 0 .../tableau/operators/test_tableau.py | 0 .../provider_tests/tableau/sensors}/__init__.py | 0 .../tableau/sensors/test_tableau.py | 0 .../tests/system/tableau}/__init__.py | 0 .../tests/system/tableau/example_tableau.py | 0 providers/telegram/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => telegram/docs/changelog.rst} | 4 +- .../telegram/docs}/commits.rst | 0 .../telegram/docs}/connections.rst | 0 .../telegram/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../telegram/docs/integration-logos}/Telegram.png | Bin .../telegram/docs}/operators.rst | 2 +- .../telegram/docs}/security.rst | 0 .../airflow/providers => }/telegram/provider.yaml | 6 +- providers/{airbyte => telegram}/pyproject.toml | 25 +- .../src/airflow/providers/telegram/LICENSE | 201 ++ .../src/airflow/providers/telegram/__init__.py | 0 .../providers/telegram}/get_provider_info.py | 76 +- .../airflow/providers/telegram/hooks}/__init__.py | 0 .../airflow/providers/telegram/hooks/telegram.py | 2 +- .../providers/telegram/operators}/__init__.py | 0 .../providers/telegram/operators/telegram.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/telegram}/__init__.py | 0 .../provider_tests/telegram/hooks}/__init__.py | 0 .../telegram/hooks/test_telegram.py | 0 .../provider_tests/telegram/operators}/__init__.py | 0 .../telegram/operators/test_telegram.py | 0 .../tests/system/telegram}/__init__.py | 0 .../tests/system/telegram/example_telegram.py | 0 .../index.rst => providers/teradata/README.rst | 86 +- .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => teradata/docs/changelog.rst} | 0 .../teradata/docs}/commits.rst | 0 .../teradata/docs}/connections/teradata.rst | 0 .../teradata/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../teradata/docs/integration-logos}/Teradata.png | Bin .../docs}/operators/azure_blob_to_teradata.rst | 14 +- .../teradata/docs}/operators/compute_cluster.rst | 8 +- .../teradata/docs}/operators/index.rst | 0 .../teradata/docs}/operators/s3_to_teradata.rst | 8 +- .../teradata/docs}/operators/teradata.rst | 26 +- .../docs}/operators/teradata_to_teradata.rst | 4 +- .../teradata/docs}/security.rst | 0 .../airflow/providers => }/teradata/provider.yaml | 16 +- .../{apache/iceberg => teradata}/pyproject.toml | 37 +- .../src/airflow/providers/teradata/LICENSE | 201 ++ .../src/airflow/providers/teradata/__init__.py | 0 .../providers/teradata/get_provider_info.py | 109 + .../airflow/providers/teradata/hooks}/__init__.py | 0 .../airflow/providers/teradata/hooks/teradata.py | 0 .../providers/teradata/operators}/__init__.py | 0 .../providers/teradata/operators/teradata.py | 0 .../teradata/operators/teradata_compute_cluster.py | 0 .../providers/teradata/transfers}/__init__.py | 0 .../teradata/transfers/azure_blob_to_teradata.py | 0 .../providers/teradata/transfers/s3_to_teradata.py | 0 .../teradata/transfers/teradata_to_teradata.py | 0 .../providers/teradata/triggers}/__init__.py | 0 .../teradata/triggers/teradata_compute_cluster.py | 0 .../airflow/providers/teradata/utils}/__init__.py | 0 .../airflow/providers/teradata/utils/constants.py | 0 .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/teradata}/__init__.py | 0 .../provider_tests/teradata/hooks}/__init__.py | 0 .../teradata/hooks/test_teradata.py | 1 + .../provider_tests/teradata/operators}/__init__.py | 0 .../teradata/operators/test_teradata.py | 0 .../operators/test_teradata_compute_cluster.py | 0 .../provider_tests/teradata/transfers}/__init__.py | 0 .../transfers/test_azure_blob_to_teradata.py | 0 .../teradata/transfers/test_s3_to_teradata.py | 0 .../transfers/test_teradata_to_teradata.py | 0 .../provider_tests/teradata/triggers}/__init__.py | 0 .../triggers/test_teradata_compute_cluster.py | 0 .../provider_tests/teradata/utils}/__init__.py | 0 .../teradata/utils/test_constants.py | 0 .../tests/system/teradata}/__init__.py | 0 .../tests/system/teradata/create_ssl_table.sql | 0 .../tests/system/teradata/create_table.sql | 0 .../example_azure_blob_to_teradata_transfer.py | 0 .../teradata/example_s3_to_teradata_transfer.py | 0 .../tests/system/teradata/example_ssl_teradata.py | 0 .../tests/system/teradata/example_teradata.py | 0 .../system/teradata/example_teradata_call_sp.py | 0 .../teradata/example_teradata_compute_cluster.py | 0 .../example_teradata_to_teradata_transfer.py | 0 providers/tests/__init__.py | 1 + .../amazon/aws/auth_manager/avp/test_facade.py | 12 - .../aws/auth_manager/test_aws_auth_manager.py | 76 +- .../tests/amazon/aws/links/test_comprehend.py | 56 + .../tests/cncf/kubernetes/operators/test_pod.py | 139 +- providers/tests/cncf/kubernetes/test_callbacks.py | 8 + .../cncf/kubernetes/utils/test_pod_manager.py | 2 +- providers/tests/common/io/__init__.py | 16 - providers/tests/common/io/assets/__init__.py | 16 - providers/tests/common/io/operators/__init__.py | 16 - providers/tests/common/io/xcom/__init__.py | 16 - providers/tests/common/sql/__init__.py | 16 - providers/tests/common/sql/dialects/__init__.py | 16 - .../tests/common/sql/dialects/test_dialect.py | 67 - providers/tests/common/sql/hooks/__init__.py | 16 - providers/tests/common/sql/operators/__init__.py | 16 - providers/tests/common/sql/sensors/__init__.py | 16 - .../tests/databricks/operators/test_databricks.py | 104 +- .../operators/test_databricks_workflow.py | 12 + providers/tests/discord/notifications/__init__.py | 16 - providers/tests/facebook/__init__.py | 16 - providers/tests/facebook/ads/__init__.py | 16 - providers/tests/facebook/ads/hooks/__init__.py | 16 - .../google/cloud/sensors/test_cloud_composer.py | 26 +- .../google/cloud/triggers/test_cloud_composer.py | 3 + providers/tests/hashicorp/__init__.py | 16 - .../tests/hashicorp/_internal_client/__init__.py | 16 - providers/tests/hashicorp/hooks/__init__.py | 16 - providers/tests/hashicorp/secrets/__init__.py | 16 - providers/tests/jenkins/hooks/__init__.py | 16 - providers/tests/microsoft/azure/base.py | 49 +- .../tests/microsoft/azure/hooks/test_msgraph.py | 31 + .../microsoft/azure/operators/test_msgraph.py | 15 +- .../microsoft/azure/operators/test_powerbi.py | 38 +- .../tests/microsoft/azure/sensors/test_msgraph.py | 5 +- .../tests/microsoft/azure/triggers/test_msgraph.py | 18 +- .../tests/microsoft/azure/triggers/test_powerbi.py | 60 +- providers/tests/microsoft/conftest.py | 58 +- .../tests/microsoft/mssql/dialects/test_mssql.py | 54 +- .../tests/microsoft/mssql/hooks/test_mssql.py | 2 +- .../tests/microsoft/mssql/resources/replace.sql | 6 +- providers/tests/mysql/assets/__init__.py | 16 - providers/tests/mysql/transfers/__init__.py | 16 - providers/tests/odbc/__init__.py | 16 - providers/tests/odbc/hooks/__init__.py | 16 - providers/tests/openai/__init__.py | 16 - providers/tests/openai/hooks/__init__.py | 16 - providers/tests/openai/operators/__init__.py | 16 - providers/tests/openai/triggers/__init__.py | 16 - providers/tests/openlineage/__init__.py | 16 - providers/tests/openlineage/extractors/__init__.py | 16 - providers/tests/openlineage/plugins/__init__.py | 16 - .../plugins/openlineage_configs/__init__.py | 16 - providers/tests/openlineage/utils/__init__.py | 16 - providers/tests/opsgenie/notifications/__init__.py | 16 - providers/tests/opsgenie/operators/__init__.py | 17 - providers/tests/opsgenie/typing/__init__.py | 16 - providers/tests/pagerduty/__init__.py | 17 - providers/tests/pagerduty/hooks/__init__.py | 17 - .../tests/pagerduty/notifications/__init__.py | 16 - providers/tests/papermill/__init__.py | 17 - providers/tests/papermill/hooks/__init__.py | 16 - providers/tests/papermill/operators/__init__.py | 17 - providers/tests/pgvector/__init__.py | 16 - providers/tests/pgvector/hooks/__init__.py | 16 - providers/tests/pgvector/operators/__init__.py | 16 - providers/tests/pinecone/__init__.py | 16 - providers/tests/pinecone/hooks/__init__.py | 16 - providers/tests/pinecone/operators/__init__.py | 16 - providers/tests/postgres/__init__.py | 17 - providers/tests/postgres/assets/__init__.py | 16 - providers/tests/postgres/dialects/__init__.py | 16 - providers/tests/postgres/hooks/__init__.py | 17 - providers/tests/presto/__init__.py | 17 - providers/tests/presto/hooks/__init__.py | 17 - providers/tests/presto/transfers/__init__.py | 17 - providers/tests/qdrant/__init__.py | 16 - providers/tests/qdrant/hooks/__init__.py | 16 - providers/tests/qdrant/operators/__init__.py | 16 - .../tests/salesforce/hooks/test_salesforce.py | 9 + providers/tests/samba/__init__.py | 17 - providers/tests/samba/hooks/__init__.py | 17 - providers/tests/samba/transfers/__init__.py | 17 - providers/tests/segment/__init__.py | 17 - providers/tests/segment/hooks/__init__.py | 17 - providers/tests/segment/operators/__init__.py | 17 - providers/tests/sftp/__init__.py | 16 - providers/tests/sftp/decorators/__init__.py | 16 - .../tests/sftp/decorators/sensors/__init__.py | 16 - providers/tests/sftp/hooks/__init__.py | 16 - providers/tests/sftp/operators/__init__.py | 16 - providers/tests/sftp/sensors/__init__.py | 16 - providers/tests/sftp/triggers/__init__.py | 16 - providers/tests/singularity/__init__.py | 17 - providers/tests/singularity/operators/__init__.py | 17 - providers/tests/smtp/notifications/test_smtp.py | 42 + providers/tests/smtp/operators/test_smtp.py | 56 +- providers/tests/snowflake/__init__.py | 16 - providers/tests/snowflake/decorators/__init__.py | 16 - providers/tests/snowflake/hooks/__init__.py | 16 - providers/tests/snowflake/operators/__init__.py | 16 - providers/tests/snowflake/transfers/__init__.py | 16 - providers/tests/snowflake/triggers/__init__.py | 16 - providers/tests/snowflake/utils/__init__.py | 16 - providers/tests/ssh/__init__.py | 17 - providers/tests/ssh/hooks/__init__.py | 17 - providers/tests/ssh/operators/__init__.py | 17 - providers/tests/standard/__init__.py | 16 - providers/tests/standard/hooks/__init__.py | 16 - providers/tests/standard/operators/__init__.py | 16 - providers/tests/standard/sensors/__init__.py | 16 - providers/tests/standard/triggers/__init__.py | 16 - providers/tests/standard/utils/__init__.py | 16 - providers/tests/system/alibaba/__init__.py | 16 - providers/tests/system/apache/beam/__init__.py | 17 - providers/tests/system/apache/kafka/__init__.py | 16 - providers/tests/system/apache/kylin/__init__.py | 16 - providers/tests/system/apache/pig/__init__.py | 16 - providers/tests/system/apache/pinot/__init__.py | 16 - providers/tests/system/apache/spark/__init__.py | 16 - providers/tests/system/asana/__init__.py | 16 - providers/tests/system/cohere/__init__.py | 16 - providers/tests/system/common/io/__init__.py | 16 - providers/tests/system/common/sql/__init__.py | 16 - .../tests/system/databricks/example_databricks.py | 23 + .../cloud/gcs/example_gcs_upload_download.py | 2 +- providers/tests/system/http/__init__.py | 16 - providers/tests/system/jenkins/__init__.py | 16 - providers/tests/system/mysql/__init__.py | 16 - providers/tests/system/neo4j/__init__.py | 16 - providers/tests/system/openai/__init__.py | 16 - providers/tests/system/openlineage/__init__.py | 16 - .../tests/system/openlineage/transport/__init__.py | 16 - providers/tests/system/opsgenie/__init__.py | 16 - providers/tests/system/papermill/__init__.py | 17 - providers/tests/system/pgvector/__init__.py | 16 - providers/tests/system/pinecone/__init__.py | 16 - providers/tests/system/postgres/__init__.py | 16 - providers/tests/system/presto/__init__.py | 16 - providers/tests/system/qdrant/__init__.py | 16 - providers/tests/system/samba/__init__.py | 16 - providers/tests/system/sftp/__init__.py | 16 - providers/tests/system/singularity/__init__.py | 16 - providers/tests/system/snowflake/__init__.py | 16 - providers/tests/system/tableau/__init__.py | 16 - providers/tests/system/telegram/__init__.py | 16 - providers/tests/system/teradata/__init__.py | 16 - providers/tests/system/weaviate/__init__.py | 16 - providers/tests/system/ydb/__init__.py | 16 - providers/tests/system/zendesk/__init__.py | 16 - providers/tests/tableau/__init__.py | 16 - providers/tests/tableau/hooks/__init__.py | 17 - providers/tests/tableau/operators/__init__.py | 16 - providers/tests/tableau/sensors/__init__.py | 16 - providers/tests/telegram/__init__.py | 17 - providers/tests/telegram/hooks/__init__.py | 17 - providers/tests/telegram/operators/__init__.py | 17 - providers/tests/teradata/__init__.py | 16 - providers/tests/teradata/hooks/__init__.py | 17 - providers/tests/teradata/operators/__init__.py | 17 - providers/tests/teradata/transfers/__init__.py | 17 - providers/tests/teradata/triggers/__init__.py | 17 - providers/tests/teradata/utils/__init__.py | 17 - providers/tests/vertica/__init__.py | 17 - providers/tests/vertica/hooks/__init__.py | 17 - providers/tests/weaviate/__init__.py | 16 - providers/tests/weaviate/hooks/__init__.py | 16 - providers/tests/weaviate/operators/__init__.py | 16 - providers/tests/ydb/__init__.py | 16 - providers/tests/ydb/hooks/__init__.py | 16 - providers/tests/ydb/operators/__init__.py | 16 - providers/tests/ydb/utils/__init__.py | 16 - providers/tests/ydb/utils/test_defaults.py | 16 - providers/tests/zendesk/__init__.py | 16 - providers/tests/zendesk/hooks/__init__.py | 16 - .../index.rst => providers/vertica/README.rst | 77 +- .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => vertica/docs/changelog.rst} | 0 .../vertica/docs}/commits.rst | 0 .../vertica/docs}/connections/vertica.rst | 0 .../vertica/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../vertica/docs/integration-logos}/Vertica.png | Bin .../vertica/docs}/security.rst | 0 .../airflow/providers => }/vertica/provider.yaml | 7 +- providers/{airbyte => vertica}/pyproject.toml | 26 +- .../vertica/src/airflow/providers/vertica/LICENSE | 201 ++ .../src/airflow/providers/vertica/__init__.py | 0 .../providers/vertica}/get_provider_info.py | 48 +- .../airflow/providers/vertica/hooks}/__init__.py | 0 .../src/airflow/providers/vertica/hooks/vertica.py | 0 .../test_opsgenie.py => vertica/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/vertica}/__init__.py | 0 .../provider_tests/vertica/hooks}/__init__.py | 0 .../provider_tests}/vertica/hooks/test_vertica.py | 0 providers/weaviate/README.rst | 64 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => weaviate/docs/changelog.rst} | 0 .../weaviate/docs}/commits.rst | 0 .../weaviate/docs}/connections.rst | 0 .../weaviate/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../weaviate/docs}/operators/weaviate.rst | 8 +- .../weaviate/docs}/security.rst | 0 .../airflow/providers => }/weaviate/provider.yaml | 10 - providers/{airbyte => weaviate}/pyproject.toml | 31 +- .../src/airflow/providers/weaviate/LICENSE | 201 ++ .../src/airflow/providers/weaviate/__init__.py | 0 .../providers/weaviate/get_provider_info.py | 75 + .../airflow/providers/weaviate/hooks/__init__.py | 0 .../airflow/providers/weaviate/hooks/weaviate.py | 10 +- .../providers/weaviate/operators/__init__.py | 0 .../providers/weaviate/operators/weaviate.py | 1 + .../tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/weaviate}/__init__.py | 0 .../provider_tests/weaviate/hooks}/__init__.py | 0 .../weaviate/hooks/test_weaviate.py | 0 .../provider_tests/weaviate/operators}/__init__.py | 0 .../weaviate/operators/test_weaviate.py | 0 .../tests/system/weaviate}/__init__.py | 0 .../system/weaviate/example_weaviate_cohere.py | 0 .../example_weaviate_dynamic_mapping_dag.py | 2 +- .../system/weaviate/example_weaviate_openai.py | 0 .../system/weaviate/example_weaviate_operator.py | 4 +- .../system/weaviate/example_weaviate_using_hook.py | 4 +- .../weaviate/example_weaviate_vectorizer_dag.py | 2 +- .../example_weaviate_without_vectorizer_dag.py | 0 .../weaviate/jeopardy_data_with_vectors.json | 0 .../weaviate/jeopardy_data_without_vectors.json | 0 .../jeopardy_doc_data_without_vectors.json | 0 .../security.rst => providers/yandex/README.rst | 2 +- .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => yandex/docs/changelog.rst} | 347 +- .../yandex/docs}/commits.rst | 369 +-- .../yandex/docs}/configurations-ref.rst | 0 providers/yandex/docs/connections/yandexcloud.rst | 95 + .../yandex/docs}/index.rst | 35 +- .../docs}/installing-providers-from-sources.rst | 0 .../yandex/docs/integration-logos/Yandex-Cloud.png | Bin 0 -> 12347 bytes providers/yandex/docs/operators/dataproc.rst | 37 + .../yandex/docs}/operators/index.rst | 5 +- .../yandex/docs/operators/yq.rst | 15 +- .../yandex-cloud-lockbox-secret-backend.rst | 298 ++ .../yandex/docs}/security.rst | 0 providers/ydb/README.rst | 83 + .../ydb/CHANGELOG.rst => ydb/docs/changelog.rst} | 0 .../ydb/docs}/commits.rst | 0 .../ydb/docs}/connections/ydb.rst | 0 .../ydb/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../ydb/docs/integration-logos}/ydb.png | Bin .../docs}/operators/ydb_operator_howto_guide.rst | 4 +- .../ydb/docs}/security.rst | 0 .../{src/airflow/providers => }/ydb/provider.yaml | 8 +- providers/{airbyte => ydb}/pyproject.toml | 27 +- providers/ydb/src/airflow/providers/ydb/LICENSE | 201 ++ .../src/airflow/providers/ydb/__init__.py | 0 .../airflow/providers/ydb}/get_provider_info.py | 38 +- .../src/airflow/providers/ydb/hooks}/__init__.py | 0 .../src/airflow/providers/ydb/hooks/ydb.py | 2 +- .../airflow/providers/ydb/operators}/__init__.py | 0 .../src/airflow/providers/ydb/operators/ydb.py | 0 .../src/airflow/providers/ydb/utils}/__init__.py | 0 .../src/airflow/providers/ydb/utils/credentials.py | 0 .../src/airflow/providers/ydb/utils/defaults.py | 0 .../test_opsgenie.py => ydb/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/ydb}/__init__.py | 0 .../tests/provider_tests/ydb/hooks}/__init__.py | 0 .../tests/provider_tests}/ydb/hooks/test_ydb.py | 0 .../provider_tests/ydb/operators}/__init__.py | 0 .../provider_tests}/ydb/operators/test_ydb.py | 0 .../tests/provider_tests/ydb/utils}/__init__.py | 0 .../provider_tests}/ydb/utils/test_credentials.py | 0 .../provider_tests/ydb/utils/test_defaults.py} | 0 .../cloud/log => ydb/tests/system/ydb}/__init__.py | 0 .../{ => ydb}/tests/system/ydb/example_ydb.py | 1 - providers/zendesk/README.rst | 62 + .../docs}/.latest-doc-only-change.txt | 0 .../CHANGELOG.rst => zendesk/docs/changelog.rst} | 0 .../zendesk/docs}/commits.rst | 0 .../zendesk/docs}/connections.rst | 0 .../zendesk/docs}/index.rst | 0 .../docs}/installing-providers-from-sources.rst | 0 .../zendesk/docs/integration-logos}/Zendesk.png | Bin .../zendesk/docs}/security.rst | 0 .../airflow/providers => }/zendesk/provider.yaml | 6 +- providers/{airbyte => zendesk}/pyproject.toml | 25 +- .../zendesk/src/airflow/providers/zendesk/LICENSE | 201 ++ .../src/airflow/providers/zendesk/__init__.py | 0 .../providers/zendesk}/get_provider_info.py | 50 +- .../airflow/providers/zendesk/hooks}/__init__.py | 0 .../src/airflow/providers/zendesk/hooks/zendesk.py | 0 .../test_opsgenie.py => zendesk/tests/conftest.py} | 17 +- .../tests/provider_tests/__init__.py | 2 - .../tests/provider_tests/zendesk}/__init__.py | 0 .../provider_tests/zendesk/hooks}/__init__.py | 0 .../provider_tests}/zendesk/hooks/test_zendesk.py | 0 .../tests/system/zendesk}/__init__.py | 0 .../system/zendesk/example_zendesk_custom_get.py | 0 pyproject.toml | 172 +- .../docker-compose/providers-and-tests-sources.yml | 3 +- scripts/ci/docker-compose/remove-sources.yml | 64 + scripts/ci/docker-compose/tests-sources.yml | 65 +- scripts/ci/install_breeze.sh | 4 +- scripts/ci/kubernetes/k8s_requirements.txt | 1 + .../ci/pre_commit/generate_volumes_for_sources.py | 44 + .../ci/pre_commit/update_common_sql_api_stubs.py | 383 --- scripts/docker/entrypoint_ci.sh | 7 - .../in_container/install_airflow_and_providers.py | 126 +- scripts/in_container/run_fix_ownership.py | 4 +- scripts/in_container/run_generate_constraints.py | 103 +- .../in_container/run_prepare_airflow_packages.py | 45 +- .../in_container/run_provider_yaml_files_check.py | 73 +- scripts/tools/setup_breeze | 2 +- tests/api_connexion/endpoints/test_dag_endpoint.py | 4 +- .../endpoints/test_dag_source_endpoint.py | 4 +- .../api_connexion/endpoints/test_task_endpoint.py | 4 +- .../core_api/routes/public/test_connections.py | 50 +- .../core_api/routes/public/test_dag_report.py | 4 +- .../core_api/routes/public/test_dag_run.py | 9 +- .../core_api/routes/public/test_dag_sources.py | 4 +- .../core_api/routes/public/test_pools.py | 108 +- .../core_api/routes/public/test_task_instances.py | 522 ++- .../core_api/routes/public/test_tasks.py | 4 +- .../core_api/routes/public/test_variables.py | 101 +- tests/api_fastapi/core_api/test_security.py | 25 +- .../managers/simple/test_simple_auth_manager.py | 180 +- tests/auth/managers/simple/views/__init__.py | 16 - tests/auth/managers/simple/views/test_auth.py | 94 - tests/auth/managers/test_base_auth_manager.py | 29 +- tests/charts/log_groomer.py | 28 +- tests/dag_processing/test_collection.py | 8 +- tests/dag_processing/test_dag_bundles.py | 4 +- tests/dag_processing/test_manager.py | 74 +- tests/dag_processing/test_processor.py | 2 +- tests/jobs/test_scheduler_job.py | 4 +- tests/lineage/test_lineage.py | 2 +- tests/models/test_baseoperator.py | 2 +- tests/models/test_cleartasks.py | 4 +- tests/models/test_dag.py | 14 +- tests/models/test_dag_version.py | 4 +- tests/models/test_dagbag.py | 14 +- tests/models/test_dagcode.py | 24 +- tests/models/test_serialized_dag.py | 34 +- tests/models/test_taskinstance.py | 28 +- tests/sensors/test_external_task_sensor.py | 5 +- tests/www/views/test_views_grid.py | 2 +- tests_common/pytest_plugin.py | 18 +- tests_common/test_utils/__init__.py | 2 +- .../test_utils/common_sql.py | 2 +- tests_common/test_utils/mock_context.py | 71 + .../test_utils/operators/run_deferrable.py | 71 + 2285 files changed, 30022 insertions(+), 14791 deletions(-) diff --cc providers/standard/tests/provider_tests/standard/decorators/test_python.py index f0c35526f69,64914e3d149..d64022863be --- a/providers/standard/tests/provider_tests/standard/decorators/test_python.py +++ b/providers/standard/tests/provider_tests/standard/decorators/test_python.py @@@ -22,6 -22,6 +22,7 @@@ from datetime import date, timedelt from typing import Union import pytest ++from providers.standard.tests.provider_tests.standard.operators.test_python import BasePythonTest from airflow.decorators import setup, task as task_decorator, teardown from airflow.decorators.base import DecoratedMappedOperator @@@ -29,16 -29,18 +30,14 @@@ from airflow.exceptions import AirflowE from airflow.models.expandinput import DictOfListsExpandInput from airflow.models.taskinstance import TaskInstance from airflow.models.taskmap import TaskMap -from airflow.models.xcom_arg import PlainXComArg, XComArg +from airflow.sdk import DAG, BaseOperator, TaskGroup, XComArg - from airflow.sdk.definitions.mappedoperator import MappedOperator from airflow.utils import timezone from airflow.utils.state import State -from airflow.utils.task_group import TaskGroup from airflow.utils.task_instance_session import set_current_task_instance_session from airflow.utils.trigger_rule import TriggerRule from airflow.utils.types import DagRunType from airflow.utils.xcom import XCOM_RETURN_KEY -from provider_tests.standard.operators.test_python import BasePythonTest - from providers.tests.standard.operators.test_python import BasePythonTest from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS if AIRFLOW_V_3_0_PLUS: diff --cc tests/models/test_dag.py index 32f6aec54e2,bafddd53273..3ce1d2bb5ff --- a/tests/models/test_dag.py +++ b/tests/models/test_dag.py @@@ -146,11 -146,11 +146,11 @@@ def _create_dagrun run_type: DagRunType, state: DagRunState = DagRunState.RUNNING, start_date: datetime.datetime | None = None, + **kwargs, ) -> DagRun: - triggered_by_kwargs: dict = {"triggered_by": DagRunTriggeredByType.TEST} if AIRFLOW_V_3_0_PLUS else {} run_id = dag.timetable.generate_run_id( run_type=run_type, -- logical_date=logical_date, ++ logical_date=logical_date, # type: ignore[arg-type] data_interval=data_interval, ) return dag.create_dagrun(
