Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add deferred pagination mode to GenericTransfer #44809

Merged
merged 134 commits into from
Feb 26, 2025
Merged
Changes from 1 commit
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
8f3657f
refactor: Refactored the GenericTransfer operator to support paginate…
davidblain-infrabel Dec 10, 2024
9b36a14
refactor: updated provider dependencies
dabla Dec 10, 2024
eedcd52
refactor: Added TestSQLExecuteQueryTrigger and moved test code which …
davidblain-infrabel Dec 10, 2024
38f654a
refactor: Fixed static checks
davidblain-infrabel Dec 10, 2024
15383e3
refactor: Fixed static checks
davidblain-infrabel Dec 10, 2024
a93b49a
refactor: Fixed static checks
davidblain-infrabel Dec 10, 2024
8a1d2de
refactor: Reformatted GenericTransfer
davidblain-infrabel Dec 10, 2024
757ab68
refactor: Moved source and destination hooks into cached properties
davidblain-infrabel Dec 10, 2024
0744383
refactor: Moved imports to type checking block
davidblain-infrabel Dec 11, 2024
edff5f4
refactor: Fixed execute method of GenericTransfer
davidblain-infrabel Dec 11, 2024
f3b2893
refactor: Refactored get_hook method of GenericTransfer which checks …
davidblain-infrabel Dec 11, 2024
ac4df02
refactor: Remove white lines from mock_context
davidblain-infrabel Dec 11, 2024
0a771d8
refactor: Reformatted get_hook in GenericTransfer operator
davidblain-infrabel Dec 11, 2024
0e426dc
refactor: Added sql.pyi for SQLExecuteQueryTrigger
davidblain-infrabel Dec 16, 2024
4bc7d6f
refactor: Reformatted SQLExecuteQueryTrigger definition
davidblain-infrabel Dec 16, 2024
59eae35
refactor: Added alias in SQLExecuteQueryTrigger definition
davidblain-infrabel Dec 16, 2024
fff10ce
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 2, 2025
1662d2f
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 2, 2025
735a557
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 7, 2025
f092507
refactor: Added unit test for GenericTransfer using deferred pageable…
davidblain-infrabel Jan 7, 2025
3550b84
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 7, 2025
44a6965
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 8, 2025
9e75525
refactor: Moved generic_transfer operator definition in provider.yaml…
davidblain-infrabel Jan 8, 2025
5c52e4a
refactor: Renamed typo of module which allows you to run deferrable o…
davidblain-infrabel Jan 8, 2025
73f5f1c
refactor: Reformatted xcom_pull method from mock_context
davidblain-infrabel Jan 8, 2025
abadb0b
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 9, 2025
9a5760f
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 10, 2025
ca6464e
refactor: Fixed module name of the GenericTransfer in the deprecated …
davidblain-infrabel Jan 10, 2025
d0cddfd
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 10, 2025
ba7fd40
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 10, 2025
f1971c3
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 11, 2025
483b816
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 13, 2025
0e70c4a
refactor: updated provider dependencies
dabla Jan 14, 2025
d721806
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 14, 2025
8a4a8ab
refactor: Fixed static checks
davidblain-infrabel Jan 14, 2025
f9a2f90
refactor: Added definition for generic_transfer.pyi
davidblain-infrabel Jan 14, 2025
440135f
Merge branch 'main' into feature/paginated-generic-transfer
davidblain-infrabel Jan 15, 2025
de1adff
Merge branch 'main' into feature/paginated-generic-transfer
davidblain-infrabel Jan 15, 2025
3539e1e
refactor: Reformatted SQLExecuteQueryTrigger definition
davidblain-infrabel Jan 17, 2025
961a0a2
refactor: Reformatted GenericTransfer definition
davidblain-infrabel Jan 17, 2025
b4fca1d
refactor: Removed compat check in TestSQLExecuteQueryTrigger
davidblain-infrabel Jan 17, 2025
8b01016
refactor: Removed template_fields_renderers from GenericTransfer defi…
davidblain-infrabel Jan 17, 2025
84b75e9
refactor: Added newline after imports GenericTransfer definition
davidblain-infrabel Jan 17, 2025
b0f56c5
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 17, 2025
96c3691
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 19, 2025
015509d
refactor: Updated definitions for GenericTransfer and SQLExecuteQuery…
davidblain-infrabel Jan 19, 2025
faa0399
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 19, 2025
5cc657a
refactor: Fixed TestSQLExecuteQueryTrigger
davidblain-infrabel Jan 19, 2025
e8d0759
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 23, 2025
fde46da
refactor: Removed unused json import from TestSQLExecuteQueryTrigger
davidblain-infrabel Jan 20, 2025
fb240c8
refactor: Changed return type of run method in SQLExecuteQueryTrigger…
davidblain-infrabel Jan 20, 2025
7aca76d
Merge branch 'main' into feature/paginated-generic-transfer
davidblain-infrabel Jan 28, 2025
029ab5c
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 28, 2025
7276e33
refactor: Updated provider dependencies
dabla Jan 28, 2025
1b47ae7
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 28, 2025
11bf47b
refactor: Removed dependencies form provider.yaml and removed common …
davidblain-infrabel Jan 28, 2025
d70520d
refactor: Updated get_provider_info for standard and common sql provider
davidblain-infrabel Jan 28, 2025
c23d4d0
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 28, 2025
775f913
refactor: Updated provider dependencies
dabla Jan 28, 2025
c54bb73
refactor: Updated README.rst
davidblain-infrabel Jan 28, 2025
ea9040a
refactor: Reorganized imports
davidblain-infrabel Jan 28, 2025
325a7b5
refactor: Reorganized imports generic transfer pyi
davidblain-infrabel Jan 28, 2025
ec1c563
refactor: Reformatted provider info
davidblain-infrabel Jan 28, 2025
e8bacc7
refactor: Some reformatting
davidblain-infrabel Jan 28, 2025
04bdafc
refactor: Fixed import SQLExecuteQueryTrigger for AsyncIterator
davidblain-infrabel Jan 28, 2025
028bc24
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 28, 2025
1440f88
refactor: Changed back import of AsyncIterator
davidblain-infrabel Jan 28, 2025
7fa79f1
refactor: Removed definition of serialize and run methods
davidblain-infrabel Jan 28, 2025
0c68547
refactor: Re-added serialize and run methods
davidblain-infrabel Jan 28, 2025
f5a43bf
refactor: Added alias for BaseTrigger
davidblain-infrabel Jan 28, 2025
88941f1
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 28, 2025
c3f91db
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 28, 2025
c10e063
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 29, 2025
0d27771
refactor: Updated exception message in SQLTrigger
davidblain-infrabel Jan 29, 2025
f117a6c
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 29, 2025
2d67c70
Updates docs to improve Readability (#46205)
aritra24 Jan 29, 2025
6c4d041
Add Webserver parameters: max_form_parts, max_form_memory_size (#45749)
moiseenkov Jan 29, 2025
2e59373
Fix `api_connexion` test failures in main (#46245)
vincbeck Jan 29, 2025
ff0df4c
Add autorefresh to Task Instance and Dag Run pages (#46213)
bbovenzi Jan 29, 2025
46e1a5a
use populate_by_name (#46168)
rawwar Jan 29, 2025
25f8cb9
Disable Flask-SQLAlchemy modification tracking in FAB provider (#46249)
jedcunningham Jan 29, 2025
be657ad
Fix AWS auth manager compatibility test (#46246)
vincbeck Jan 29, 2025
947ccf9
Prevent from being added to root logger by default (#46236)
amoghrajesh Jan 29, 2025
7294194
Move more DAG parsing related config to dag_processor section (#46034)
jedcunningham Jan 29, 2025
b98fe8e
Update test fixture docstring (#46252)
jedcunningham Jan 29, 2025
bcbeeac
AIP-38 Invalidate DryRun query cache on submit (#46238)
pierrejeambrun Jan 29, 2025
b089ffc
Fix pre-commit to re-generate on dependency changes (#46259)
jscheffl Jan 29, 2025
a12b762
update some icons and add dag import error to dagslist (#46251)
bbovenzi Jan 29, 2025
0634ed6
Limit `google-cloud-aiplatform` to fix issues in CI (#46242)
amoghrajesh Jan 29, 2025
0453bdb
Adding from_path.exists() check in a couple of conditions (#46255)
kunaljubce Jan 30, 2025
81cec72
Remove caplog from HDFS tests (#46263)
jscheffl Jan 30, 2025
114fa7b
Remove caplog from Livy tests (#46272)
potiuk Jan 30, 2025
8c0b2ed
Replace caplog with patching log property in k8s tests (#46273)
potiuk Jan 30, 2025
f4122e9
Remove import from MySQL provider tests in generic transfer test (#46…
potiuk Jan 30, 2025
6bf3a23
Fix GitDagBundle to support https (include 46073/46179) (#46226)
jx2lee Jan 30, 2025
9b6a211
AIP-72: Port _validate_inlet_outlet_assets_activeness into Task SDK (…
amoghrajesh Jan 30, 2025
5cae77d
Try and reduce flakiness of number of test call asserts (#46276)
amoghrajesh Jan 30, 2025
49ac241
Add evaluation extra to google-cloud-aiplatform (#46270)
potiuk Jan 30, 2025
3c5fd86
Move Docker Provider to the New Structure (#46097)
bugraoz93 Jan 30, 2025
7e88cb3
Move Atlassian Jira Provider to the new structure (#46271)
bugraoz93 Jan 30, 2025
5abd218
moved apache.cassandra provider to new structure and fixed check-for-…
Prab-27 Jan 30, 2025
ff34487
Make azure test less flaky/racy (#46281)
potiuk Jan 30, 2025
0dbe2ed
move Influxdb provider to new provider structure (#46277)
Prab-27 Jan 30, 2025
ba42ba2
Move Apprise provider to new structure (#46161)
Prab-27 Jan 30, 2025
1def6cf
Make racy test test_start_pod_startup_interval_seconds less racy (#4…
potiuk Jan 30, 2025
f65064e
Move FTP Provider to the New Structure (#46206)
aritra24 Jan 30, 2025
df0c941
move Trino provider to new provider structure (#46162)
Prab-27 Jan 30, 2025
a19f87d
refactor(providers/slack): move slack provider to new structure (#46209)
josix Jan 30, 2025
a341c3d
Move Apache Livy to new provider structure (#46131)
jason810496 Jan 30, 2025
b6ebe21
refactor: Re-added test_generic_transfer under standard provider
davidblain-infrabel Jan 30, 2025
6c1ae47
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 30, 2025
63f74d5
refactor: Moved test_generic_transfer from standard to common sql pro…
davidblain-infrabel Jan 30, 2025
66f5ac5
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 30, 2025
260928e
Merge branch 'main' into feature/paginated-generic-transfer
dabla Jan 31, 2025
8e24682
Merge branch 'main' into feature/paginated-generic-transfer
davidblain-infrabel Feb 5, 2025
2ae4459
refactor: Try ignoring wrongly assumed return type from MyPy in SQLEx…
davidblain-infrabel Feb 5, 2025
7aaf4e2
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 5, 2025
4465531
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 5, 2025
72f49d9
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 5, 2025
c867019
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 6, 2025
9a8a9c3
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 10, 2025
7315f5c
refactor: Removed import of azure Base in TestSQLExecuteQueryTrigger
davidblain-infrabel Feb 10, 2025
b709932
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 11, 2025
592a856
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 11, 2025
d1869c0
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 11, 2025
e833937
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 12, 2025
34a6de7
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 13, 2025
60124f4
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 13, 2025
1105db1
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 18, 2025
240bf20
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 18, 2025
a27dff4
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 18, 2025
99a2d9e
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 20, 2025
1dab43e
Merge branch 'main' into feature/paginated-generic-transfer
dabla Feb 21, 2025
4bee991
refactor: Moved common sql tests from provider_tests to unit
davidblain-infrabel Feb 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Move Docker Provider to the New Structure (#46097)
* Move Docker Provider to the New Structure

* Fix test related to checking provider examples

* Fix taskflow.rst docker example path
bugraoz93 authored and davidblain-infrabel committed Jan 30, 2025
commit 3c5fd86e47dfb470793d563e63ec02c6ff4bd07f
5 changes: 1 addition & 4 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
@@ -172,10 +172,7 @@ labelPRBasedOnFilePath:
- providers/discord/**

provider:docker:
- providers/src/airflow/providers/docker/**/*
- docs/apache-airflow-providers-docker/**/*
- providers/tests/docker/**/*
- providers/tests/system/docker/**/*
- providers/docker/**

provider:edge:
- providers/edge/**
1 change: 1 addition & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@ apache-airflow-providers-common-io
apache-airflow-providers-common-sql
apache-airflow-providers-datadog
apache-airflow-providers-discord
apache-airflow-providers-docker
apache-airflow-providers-edge
apache-airflow-providers-exasol
apache-airflow-providers-facebook
25 changes: 0 additions & 25 deletions docs/apache-airflow-providers-docker/changelog.rst

This file was deleted.

2 changes: 1 addition & 1 deletion docs/apache-airflow/tutorial/taskflow.rst
Original file line number Diff line number Diff line change
@@ -307,7 +307,7 @@ Below is an example of using the ``@task.docker`` decorator to run a Python task

.. _taskflow/docker_example:

.. exampleinclude:: /../../providers/tests/system/docker/example_taskflow_api_docker_virtualenv.py
.. exampleinclude:: /../../providers/docker/tests/system/docker/example_taskflow_api_docker_virtualenv.py
:language: python
:dedent: 4
:start-after: [START transform_docker]
82 changes: 82 additions & 0 deletions providers/docker/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@

.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

.. http://www.apache.org/licenses/LICENSE-2.0

.. Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!

.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
`PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY


Package ``apache-airflow-providers-docker``

Release: ``4.0.0``


`Docker <https://www.docker.com/>`__


Provider package
----------------

This is a provider package for ``docker`` provider. All classes for this provider package
are in ``airflow.providers.docker`` python package.

You can find package information and changelog for the provider
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-docker/4.0.0/>`_.

Installation
------------

You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below
for the minimum Airflow version supported) via
``pip install apache-airflow-providers-docker``

The package supports the following python versions: 3.9,3.10,3.11,3.12

Requirements
------------

================== ==================
PIP package Version required
================== ==================
``apache-airflow`` ``>=2.9.0``
``docker`` ``>=7.1.0``
``python-dotenv`` ``>=0.21.0``
================== ==================

Cross provider package dependencies
-----------------------------------

Those are dependencies that might be needed in order to use all the features of the package.
You need to install the specified provider packages in order to use them.

You can install such cross-provider dependencies when installing from PyPI. For example:

.. code-block:: bash

pip install apache-airflow-providers-docker[common.compat]


================================================================================================================== =================
Dependent package Extra
================================================================================================================== =================
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
================================================================================================================== =================

The changelog for the provider package can be found in the
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-docker/4.0.0/changelog.html>`_.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -162,7 +162,7 @@ ulimits
Usage Example
-------------

.. exampleinclude:: /../../providers/tests/system/docker/example_taskflow_api_docker_virtualenv.py
.. exampleinclude:: /../../providers/docker/tests/system/docker/example_taskflow_api_docker_virtualenv.py
:language: python
:start-after: [START transform_docker]
:end-before: [END transform_docker]
File renamed without changes.
File renamed without changes
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -73,19 +73,14 @@ versions:
- 1.0.1
- 1.0.0

dependencies:
- apache-airflow>=2.9.0
- docker>=7.1.0
- python-dotenv>=0.21.0

integrations:
- integration-name: Docker
external-doc-url: https://docs.docker.com/
logo: /integration-logos/docker/Docker.png
logo: /docs/integration-logos/Docker.png
tags: [software]
- integration-name: Docker Swarm
external-doc-url: https://docs.docker.com/engine/swarm/
logo: /integration-logos/docker/Docker-Swarm.png
logo: /docs/integration-logos/Docker-Swarm.png
tags: [software]

operators:
86 changes: 86 additions & 0 deletions providers/docker/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!

# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE TEMPLATE
# `pyproject_TEMPLATE.toml.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
[build-system]
requires = ["flit_core==3.10.1"]
build-backend = "flit_core.buildapi"

[project]
name = "apache-airflow-providers-docker"
version = "4.0.0"
description = "Provider package apache-airflow-providers-docker for Apache Airflow"
readme = "README.rst"
authors = [
{name="Apache Software Foundation", email="dev@airflow.apache.org"},
]
maintainers = [
{name="Apache Software Foundation", email="dev@airflow.apache.org"},
]
keywords = [ "airflow-provider", "docker", "airflow", "integration" ]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Environment :: Web Environment",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Framework :: Apache Airflow",
"Framework :: Apache Airflow :: Provider",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: System :: Monitoring",
]
requires-python = "~=3.9"

# The dependencies should be modified in place in the generated file
# Any change in the dependencies is preserved when the file is regenerated
dependencies = [
"apache-airflow>=2.9.0",
"docker>=7.1.0",
"python-dotenv>=0.21.0",
]

# The optional dependencies should be modified in place in the generated file
# Any change in the dependencies is preserved when the file is regenerated
[project.optional-dependencies]
"common.compat" = [
"apache-airflow-providers-common-compat"
]

[project.urls]
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-docker/4.0.0"
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-docker/4.0.0/changelog.html"
"Bug Tracker" = "https://github.com/apache/airflow/issues"
"Source Code" = "https://github.com/apache/airflow"
"Slack Chat" = "https://s.apache.org/airflow-slack"
"Twitter" = "https://x.com/ApacheAirflow"
"YouTube" = "https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/"

[project.entry-points."apache_airflow_provider"]
provider_info = "airflow.providers.docker.get_provider_info:get_provider_info"

[tool.flit.module]
name = "airflow.providers.docker"

[tool.pytest.ini_options]
ignore = "tests/system/"
Loading